2017-02-08 90 views
0

這看起來很簡單,但我還沒有找到辦法。我有三個列表,a,b和c。我想遍歷所有這些元素,就好像它們的元素完全構成了一個大名單一樣。我可以想到一些方法來做到這一點,但沒有什麼非常流暢或「pythonic」。我期望圖示操作符工作:Pythonic方式遍歷for循環中的多個列表?

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

但這給出了語法錯誤。有任何想法嗎?

+0

你可以使用['itertools.chain'](https://docs.python.org/3/library/itertools.html#itertools.chain) – khelwood

+1

實際上,它可以在Python 3.5+中工作。不過,你應該使用'itertools.chain'。 – vaultah

+0

@vaultah。沒關係。我的錯 –

回答

4

如果他們所有的列表,所有元組,或者所有的字符串,那麼你可以將它們連接起來:

for e in a + b + c: 

對於任何iterables的任意組合,包括像發電機迭代器:

from itertools import chain 

for e in chain(a, b, c):