2025-09-10:仓库迁移
This commit is contained in:
30
4.迭代器与生成器/11.迭代多个序列.py
Normal file
30
4.迭代器与生成器/11.迭代多个序列.py
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# 如果想要同时迭代多个序列,那么可以使用zip函数
|
||||
list1 = [1, 2, 3, 4, 5]
|
||||
list2 = ['a', 'b', 'c', 'd', 'e']
|
||||
|
||||
for i, j in zip(list1, list2):
|
||||
print(i, j)
|
||||
|
||||
# zip遵循最短木板原则,迭代长度等于最短的可迭代对象长度,如果想要打破这种限制,请使用itertools.zip_longest()
|
||||
|
||||
from itertools import zip_longest
|
||||
short_list = [1, 2, 3]
|
||||
# fillvalue字段用来填充短列表的缺失值,默认为None
|
||||
for i, j in zip_longest(short_list, list1, fillvalue=0):
|
||||
print(i, j)
|
||||
|
||||
# zip函数会构建一个元组,它的长度与输入的可迭代对象数量有关
|
||||
for i in zip(short_list, list2, list1):
|
||||
print(i)
|
||||
|
||||
# 双对象元组可以直接视作键值对转成字典
|
||||
dic = dict(zip(list1, list2))
|
||||
print(dic)
|
||||
|
||||
# 重点!!!zip函数返回的是一个一次性迭代器,如果需要长久保存,请转成列表在内存里持久化
|
||||
storage_list = list(zip(list1, list2))
|
||||
|
||||
|
Reference in New Issue
Block a user