迭代工具

Posted cjluchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代工具相关的知识,希望对你有一定的参考价值。

在python中,迭代序列或者其他可迭代对象时,有一些常用函数

1.并行迭代:

程序可以同时迭代两个序列:

student=[xiaoming,xiaohong,xiaogang]
number=[1001,1002,1003]
for i in range(len(student)):
    print(student[i],的学号是:,number[i])

#输出:
xiaoming 的学号是: 1001
xiaohong 的学号是: 1002
xiaogang 的学号是: 1003

2.zip函数

在python中,内建的zip函数用来进行并行迭代,可以把两个序列合并在一起,返回一个元组的列表,例如:

student=[xiaoming,xiaohong,xiaogang]
number=[1001,1002,1003]
for name,num in zip(student,number):
    print(name,的学号是:,num)

#输出:
xiaoming 的学号是: 1001
xiaohong 的学号是: 1002
xiaogang 的学号是: 1003

结果和上面的一样。

zip函数可以用于任意数量的序列,并且可以应付不等长的序列,当短序列“用完”时,就会停止。

student=[xiaoming,xiaohong,xiaogang,xiaopang,xiaozhi]
number=[1001,1002,1003]
for name,num in zip(student,number):
    print(name,的学号是:,num)
#输出
xiaoming 的学号是: 1001
xiaohong 的学号是: 1002
xiaogang 的学号是: 1003

由输出结果可见,zip函数以短序列为准,当短序列遍历结束时,for循环就会遍历结束。

3.翻转和排序迭代

reverse和sort方法是列表专有的方法,而reversed()和sorted()函数适用于所有的序列和可迭代对象,但不是原地修改对象,而是返回翻转或排序后的版本。

a=[1,2,5,3,3,9,4,6,4,3]
b=[2,3,4,5,7,6,1,6,6,3]
a.sort()
print(a)
b.reverse()
print(b)

c
="hello world" d=sorted(c) print(d)
e
="hello world" f=list(reversed(e))#reverse()函数返回的是一个可迭代对象,所以需要把它转化成一个列表 print(f)
g
="hello world" h=‘‘.join(reversed(g)) print(h)

#输出
[1, 2, 3, 3, 3, 4, 4, 5, 6, 9]
[3, 6, 6, 1, 6, 7, 5, 4, 3, 2]
[‘ ‘, ‘d‘, ‘e‘, ‘h‘, ‘l‘, ‘l‘, ‘l‘, ‘o‘, ‘o‘, ‘r‘, ‘w‘]
[‘d‘, ‘l‘, ‘r‘, ‘o‘, ‘w‘, ‘ ‘, ‘o‘, ‘l‘, ‘l‘, ‘e‘, ‘h‘]
dlrow olleh

 



























以上是关于迭代工具的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在这个 python 片段中得到 float 是不可迭代的? [复制]

如何在Django视图中使用for循环返回每次迭代[关闭]

Word 文档的优秀代码片段工具或插件?

如何在UL中迭代使用appendChild和片段LI?

前端开发工具vscode如何快速生成代码片段

前端开发工具vscode如何快速生成代码片段