2016-03-22 18 views
1

私はすでにこの投稿How to merge lists into a list of tuples in Python?をチェックしていますが、それは私の問題に適合していないようです。Pythonでタプルのリストを取得するためにリスト要素をマージする

複数のリストをまとめてマージして、各乗算のタプルを取得したいとします。 それでは言わせて:

listA = ['a', 'b', 'c', 'd'] 
listB = [ 1 , 2 , 3 , 4 , 5 ] 
listC = ['!', '?', '='] 

リストは同じ長さを持っていません。 私の望ましい結果は次のようになります。

result = [('a', 1, '!'), ('a', 1, '?'), ('a', 1, '='), ('a', 2, '!')... 

限り、私はそれを得たとして、郵便番号()関数は、唯一私が欲しいものではありません同じインデックスと一緒にリストに2つの要素を結合します。

+0

http://stackoverflow.com/questions/12935194/combinations-between-two-lists – Arman

答えて

1

使用itertools.product

>>> listA = ['a', 'b', 'c', 'd'] 
>>> listB = [ 1 , 2 , 3 , 4 , 5 ] 
>>> listC = ['!', '?', '='] 
>>> result = list(itertools.product(listA, listB, listC)) 
>>> result[:5] 
[('a', 1, '!'), ('a', 1, '?'), ('a', 1, '='), ('a', 2, '!'), ('a', 2, '?')] 
>>> 
+0

の可能性の重複これは私が望んでいたまさにです。ありがとうございました! – Calanas

関連する問題