python 多列表打包成一个列表组
zip, zip_longest 均为内置函数,无需另外安装
from itertools import zip_longest
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = ['E', 'F']
# 1.list长度相等
zipped12 = zip(list1, list2)
print(list(zipped12))
#>> [(1, 'a'), (2, 'b'), (3, 'c')]
# 2.取短list
zipped23 = zip(list2, list3) #
print(list(zipped23))
#>> [('a', 'E'), ('b', 'F')]
# 3.取长list, 补齐字段值为'0'
long_zipped23 = zip_longest(list2, list3, fillvalue='0')
print(list(long_zipped23))
#>> [('a', 'E'), ('b', 'F'), ('c', '0')]
# 4.三个列表数据结果
zipped123 = zip(list1, list2, list3)
long_zipped123 = zip_longest(list1, list2, list3)
print(list(zipped123))
print(list(long_zipped123))
#>> [(1, 'a', 'E'), (2, 'b', 'F')]
#>> [(1, 'a', 'E'), (2, 'b', 'F'), (3, 'c', None)]