0

重複の可能性:
リストのリストのすべての組み合わせ

Python を使用して 2 つの文字列のリストを追加しようとしましたが、試した for ループのさまざまな配置では機能しません。私が持っているのは2つのリストで、他の2つから3番目のリストを作成したいので、リスト1のインデックス[0]にリスト2のすべてのインデックスが順番に追加されます(それぞれが新しいリストの個別のエントリです) list)、次に list1 の index[1] についても同様です。

snippets1 = ["aka", "btb", "wktl"]
snippets2 = ["tltd", "rth", "pef"]

resultlist = ["akatltd", "akarth", "akapef", "btbtltd", "btbrth", "btbpef", "wktltltd", "wktlrth", "wktlpef"]

答えは簡単ですが、何をしてもまったく機能しないものを取得したり、snippet1[0] を snippet2[0] に追加したり、snippet1[1] を snippet2[1] に追加したりします。助けてください!

4

3 に答える 3

11
import itertools

snippets1 = ["aka", "btb", "wktl"]
snippets2 = ["tltd", "rth", "pef"]

resultlist = [''.join(pair) for pair in itertools.product(snippets1, snippets2)]
于 2012-11-02T17:22:30.393 に答える
3

完全を期すために、使用していないライナーを1つ指摘する必要があると思いますitertools(ただし、 itertools アプローチをproduct優先する必要があります):

[i+j for i in snippets1 for j in snippets2]
# ['akatltd', 'akarth', 'akapef', 'btbtltd', 'btbrth', 'btbpef', 'wktltltd', 'wktlrth', 'wktlpef']
于 2012-11-02T17:42:05.220 に答える
3

このように試すことができます

resultlist=[]
for i in snipppets1:
 for j in snippets2:
  resultlist.append(i+j)
print resultlist
于 2012-11-02T17:26:07.330 に答える