2017-02-08 30 views
0

これはかなりシンプルなようですが、私はそれを行う方法を見つけていません。私は3つのリスト、a、b、cを持っています。私はそれらの要素が全体として1つの大きなリストを形成するかのように、すべてを繰り返していきたいと思います。私はこれを行うにはいくつかの方法を考えることができますが、非常に滑らかではない、または「ピジョンソニック」はありません。私はsplat演算子が動作することを期待しました:forループの複数のリストを反復処理するPythonの方法?

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

ただし、構文エラーが発生します。何か案は?発電機のようなイテレータを含む任意のイテレート可能オブジェクトの任意の組み合わせのために

for e in a + b + c: 

+0

することができます['itertools.chain'](https://docs.python.org/3/library/itertools.html#itertools.chain) – khelwood

+1

実際には、Python 3.5以降で動作します。それでも 'itertools.chain'を使うべきです。 @vaultah。 – vaultah

+0

気にしないで。私の間違い –

答えて

4

彼らはすべてのリスト、すべてのタプル、またはすべての文字列である場合、あなたはそれらを連結することができ

from itertools import chain 

for e in chain(a, b, c): 
関連する問題