itertools.chain
itertools.chain 是 Python 标准库 itertools 模块中的一个函数,用于将多个可迭代对象(如列表、元组、集合等)连接成一个单一的可迭代对象。这在需要在一个循环中处理多个序列时特别有用,而不需要先将它们连接成一个单一的列表。
import itertools
# 定义多个可迭代对象
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [True, False]
# 使用 itertools.chain 将它们连接起来
combined = itertools.chain(list1, list2, list3)
# 迭代 combined
for item in combined:
print(item)
输出:
1
2
3
a
b
c
True
False
itertools.chain.from_iterable
itertools.chain.from_iterable接受一个单一的可迭代对象,该可迭代对象包含多个子可迭代对象,然后将这些子可迭代对象连接成一个单一的可迭代对象。
假设你有一个包含多个列表的列表,你可以使用 chain.from_iterable 将这些列表连接成一个单一的可迭代对象:
import itertools
# 一个包含多个列表的列表
list_of_lists = [[1, 2, 3], ['a', 'b', 'c'], [True, False]]
# 使用 itertools.chain.from_iterable 将它们连接起来
combined = itertools.chain.from_iterable(list_of_lists)
# 迭代 combined
for item in combined:
print(item)
输出:
1
2
3
a
b
c
True
False