【发布时间】:2020-06-29 23:48:28
【问题描述】:
我什至不确定我是否正确描述了这一点,但我有一系列列表,我使用 izip_longest 组合在一起。
import itertools
a = ['a1', 'a2', 'a3']
b = ['b1', 'b2', 'b3']
c = ['c1', 'c2', 'c3']
group = []
for i in (filter(None, g) for g in itertools.izip_longest(a, b, c)):
group.append(i)
我用 for 循环跟随它
for idx, (x, y, z) in enumerate(group):
print('Got ' + x + ', ' + y + ', ' + z)
但是,有时我会遇到进入izip_longest 的一个或多个列表为空的情况
例如
a = ['a1', 'a2', 'a3']
b = []
c = ['c1', 'c2', 'c3']
这会导致for 循环出现问题。如何从 for 循环中指定可变数量的“输出参数”(不确定这是正确的术语)...
例如如果列表 b 为空,则使 for 循环类似于
for idx, (x,z) in enumerate(group):
...
【问题讨论】:
-
总会有一个......我可以做类似
((x,*_))的事情吗?但是循环体中如何引用这些附加变量?
标签: python-3.x loops itertools