【每天几分钟,从零入门python编程的世界!】
我们之前学习过Python的内置函数enumerate(),它返回的是一个以序号和数据一一对应的元组为元素的可迭代对象。它的第一个参数是一个序列、迭代器或可迭代对象,它的第二个参数是被列举的元组的下标起始位置。它的作用相当于每次报数并列举可迭代对象的元素。
现在我们通过生成器来实现enumerate()函数的效果。
实例:
#enumerate()的作用是用来列举数据,我们假设学习人工智能需要4个步骤,我们把这些步骤列举出来。
steps=["Python","Git","Deeplearning","AI"]
#现在我们需要一个方法把学习人工智能的这几个步骤列举出来,但是我们不用enumerate(),我们自己定义一个特殊的函数--生成器,来实现报数并列举可迭代对象steps的元素的效果。
def my_enumerate(iterable,start=0):
#count是计数器,相当于enumerate()中的序号
count=start
#用for循环迭代可迭代对象
for element in iterable:
#用yield每次返回一个值,表示生成器
yield count,element
#每次循环迭代后,计数器加1
count+=1
#enumerate()函数常用在for循环中,现在我们用自己定义的my_enumerate()来替换enumerate(),实现同样的效果:报数并列举学习人工智能的步骤steps列表。
for i,step in my_enumerate(steps,1):
print("step{}:{}".format(i,step))
#运行结果:
step1:Python
step2:Git
step3:Deeplearning
step4:AI
我是时问新,欢迎关注我。跟我一起从零开始学习Python,每天花一点时间,开启python编程新世界的大门,领略新的风光,让人生多一种可能!
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(Python报数)(python报数出列问题)
本文链接:https://www.51qsb.cn/article/6428.html