0

可能重复:
列表列表的所有组合

我一直在尝试使用 python 将两个字符串列表添加在一起,但我无法让它与我尝试过的 for 循环的不同安排一起工作。我有两个列表,我想从另外两个列表中创建第三个列表,以便列表 1 中的 index[0] 依次添加列表 2 中的所有索引(每个都是新列表中的单独条目list),然后对于 list1 中的 index[1] 也是如此,依此类推..

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

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

我知道答案很简单,但无论我做什么,我都会得到一些根本不起作用的东西,或者它将片段1 [0]添加到片段2 [0],将片段1 [1]添加到片段2 [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

你可以这样尝试

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

为了完整起见,我想我应该指出一个不使用的衬垫itertools(但product应该首选 itertools 方法):

[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 回答