假设我有一个包含 10 个数字的列表:a = [0,1,2,3,4,5,6,7,8,9]
我想获取第 2 位数字、第 5-8 位数字和最后一位数字。像这样的东西:
for i in (a[1], a[4:7], a[9]):
print(i)
我该怎么做?
请您参考如下方法:
import itertools
for i in itertools.chain(a[1:2], a[4:7], a[9:10]):
print(i)
您需要使用单元素切片,因为 itertools.chain要求每个参数都是可迭代的。
对于可迭代的动态列表,您可以使用 itertools.chain.from_iterable :
iterables = [a[1:2], a[4:7], a[9:10]]
for i in itertools.chain.from_iterable(iterables): # Better than chain(*iterables)
print(i)
