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

bob*_*nto 0 python iteration list

这看起来很简单,但我还没有找到一种方法来做到这一点。我有三个列表,a、b 和 c。我想遍历所有这些,就好像它们的元素完全形成一个大列表一样。我可以想到几种方法来做到这一点,但没有什么是非常流畅或“pythonic”的。我希望 splat 操作员能够工作:

for e in (*a, *b, *c):
   # do stuff with e
Run Code Online (Sandbox Code Playgroud)

但这会导致语法错误。有任何想法吗?

Ale*_*all 9

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

for e in a + b + c:
Run Code Online (Sandbox Code Playgroud)

对于任何可迭代对象的任意组合,包括像生成器这样的迭代器:

from itertools import chain

for e in chain(a, b, c):
Run Code Online (Sandbox Code Playgroud)