python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python列表三种遍历方法

Python中列表(List) 的三种遍历(序号和值)方法小结

作者:天人合一peng

这篇文章主要介绍了Python中列表(List) 的三种遍历(序号和值)方法小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

列表(List) 的三种遍历(序号和值)方法

if __name__ == '__main__':
    list = ['html', 'js', 'css', 'python']
 
    for i in list:
        print(list.index(i), i)
 
    # 方法1
    print( '遍历列表方法1:')
    for i in list:
        print ("序号:%s   值:%s" % (list.index(i) + 1, i))
 
    print ('\n遍历列表方法2:')
    # 方法2
    for i in range(len(list)):
        print ("序号:%s   值:%s" % (i + 1, list[i]))
 
    # 方法3
    print ('\n遍历列表方法3:')
    for i, val in enumerate(list):
        print ("序号:%s   值:%s" % (i + 1, val))
 
    # 方法3
    print( '\n遍历列表方法3 (设置遍历开始初始位置,只改变了起始序号):')
    for i, val in enumerate(list, 2):
        print ("序号:%s   值:%s" % (i + 1, val))

def printPoem():
    print("hello poem")
    name = '晏殊'
    poem = ''' 一曲新词酒一杯,去年天气旧亭台。夕阳西下几时回?无可奈何花落去,似曾相识燕归来。小园香径独徘徊。'''
    print(name, poem)
 
printPoem()  
if __name__ == '__main__':
    print("hello poem")
    name = '晏殊'
    poem =  ''' 
    一曲新词酒一杯,去年天气旧亭台。
    夕阳西下几时回?无可奈何花落去,
    似曾相识燕归来。小园香径独徘徊。 '''
 
    print(name, poem)
    print(name)
    print(poem)

if __name__ == '__main__':  这一句相当于c/c++中的main()函数。

Python遍历整个列表

我们经常需要遍历列表的所有元素,对每个元素执行相同的操作。

例如,在游戏中,可能需要将每个界面元素平移相同的距离;对于包含数字的列表,可能需要对每个元素执行相同的统计运算;在网站中,可能需要显示文章列表中的每个标题。需要对列表中的每个元素执行相同的操作时,可使用python中的for循环

建立一个魔术师名单并打印

magicians=['alice','david','carolina']
for magician in magicians:
    print(magician)

1.深入地研究循环

上述代码中,python会先读取for循环的第一行代码:

这行代码让python获取列表magicians中第一个值’alice‘,并将其储存到变量magician中

接下来读取下一行代码:

让python打印magician的值,然后返回for循环的第一行

python获取列表中的下一个元素,储存到变量magician中,再执行第二代码

依次类推

另外编写for循环时,对于用于储存列表中每个值的临时变量,可以指定任何名称

例如对于小猫列表、小狗列表和一般性列表,可以像下面这样编写for循环的第一行代码

for cat in cats:
for dog in dogs:
for item in list_of_items:

这些命名约定有助于明白for循环中将对每个元素执行的操作

使用单数还是复数式名称,可以帮助判断代码段处理的是单个列表元素还是整个列表

2.在for循环中执行更多的操作

在for循环中,可对列表每个元素进行任何操作

对每一位魔术师都打印一条消息,指出他的表演很精彩

print(magician.title()+',that was a great trick!')

在for循环中,想包含多少行代码都行。

在代码行for magician in magicians后,每个缩进的的代码行都是循环的一部分,且针对列表中的每个值都执行一次。因此,可对列表中的每个值执行任意次数的操作

再添加一行代码,告诉每个魔术师,我们期待他的下一次表演

print("I can't wait to see your next trick,"+magician.title()+'.\n')

上述代码的运行结果为

alice
Alice,that was a great trick!
I can't wait to see your next trick,Alice.
 
david
David,that was a great trick!
I can't wait to see your next trick,David.
 
carolina
Carolina,that was a great trick!
I can't wait to see your next trick,Carolina.

3.在for循环结束后执行一些操作

通常你需要提供总结性输出或接着执行程序必须完成的其它任务。在for循环之后,没有缩进的代码都只执行一次,而不会重复执行。

在下面打印出来一条向全体魔术师致谢的消息,感谢他们的精彩表演

print("Thank you, everyone. That was a great magic show!")

运行结果

Thank you, everyone. That was a great magic show!

使用for循环处理数据是一种对数据集整体操作的不错的方式。例如你可以使用for循环来初始化游戏——遍历所有角色,将每个角色都显示到屏幕上:再在循环后面添加一个不缩进的代码块。在屏幕上绘制所有角色后显示一个play now按钮

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文