Pythonic方法迭代for循环中的多个列表?

时间:2017-02-08 16:34:39

标签: python list iteration

这看起来很简单,但我还没有办法做到这一点。我有三个列表,a,b和c。我想迭代所有这些,就像它们的元素一起形成一个大的列表。我可以想到几种方法来做到这一点,但没有什么非常顺利或者#pythonic"。我希望splat运算符能够工作:

for e in (*a, *b, *c):
   # do stuff with e

但是这会产生语法错误。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

如果它们都是列表,所有元组或所有字符串,那么您可以将它们连接起来:

for e in a + b + c:

对于任何迭代的任何组合,包括像generator这样的迭代器:

from itertools import chain

for e in chain(a, b, c):
相关问题