1、zip函数
# 假设有两个并列的变量列表
var1 = [1, 2, 3]
var2 = ['a', 'b', 'c']
# 使用zip函数并行遍历这两个变量
for a, b in zip(var1, var2):
print(a, b)
2、enumerate函数
enumerate()
接受一个可迭代对象作为输入,并返回一个枚举对象- 这个枚举对象包含了原始可迭代对象中的每个元素以及对应的索引
- 它允许在循环中同时获取索引和值,这对于需要索引的情况非常方便
# for 循环使用 enumerate
>>> seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
print i, element
0 one
1 two
2 three
enumerate()
也可以和 zip()
函数一起使用,以并行迭代多个可迭代对象
fruits = ['apple', 'banana', 'cherry']
prices = [1.0, 0.5, 2.0]
for index, (fruit, price) in enumerate(zip(fruits, prices)):
print(f"索引 {index}: 水果 {fruit}, 价格 {price}")
enumerate()
返回的是一个枚举对象,可以使用 list() 函数将其转换为列表
fruits = ['apple', 'banana', 'cherry']
enum_list = list(enumerate(fruits))
print(enum_list)
3、itertools模块的zip_longest
如果两个可迭代对象的长度不一致,zip函数会在较短的对象用完后停止迭代。如果我们想要在较短的对象用完后继续迭代,可以使用itertools模块的zip_longest函数。由于list2较短,使用fillvalue='NA'来填充
import itertools
list1 = [1, 2, 3]
list2 = ['a', 'b']
for item in itertools.zip_longest(list1, list2, fillvalue='NA'):
print(item)