如何将列表中的每个项目与Python中另一个列表的所有值一起使用[重复]

Posted

技术标签:

【中文标题】如何将列表中的每个项目与Python中另一个列表的所有值一起使用[重复]【英文标题】:How to each item in list with all values of another list in Python [duplicate] 【发布时间】:2012-10-23 09:37:20 【问题描述】:

可能重复:All combinations of a list of lists

我一直在尝试使用 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"]

我知道答案很简单,但无论我做什么,我都会得到一些根本不起作用的东西,或者它会将 sn-ps1[0] 添加到 sn-ps2[0]、sn-ps1[1]到 sn-ps2[1] 等等。请帮忙!

【问题讨论】:

【参考方案1】:
import itertools

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

resultlist = [''.join(pair) for pair in itertools.product(snippets1, snippets2)]

【讨论】:

【参考方案2】:

你可以这样试试

resultlist=[]
for i in snipppets1:
 for j in snippets2:
  resultlist.append(i+j)
print resultlist

【讨论】:

谢谢。这是我最初试图达到的目标,但我一直在搞砸【参考方案3】:

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

[i+j for i in snippets1 for j in snippets2]
# ['akatltd', 'akarth', 'akapef', 'btbtltd', 'btbrth', 'btbpef', 'wktltltd', 'wktlrth', 'wktlpef']

【讨论】:

以上是关于如何将列表中的每个项目与Python中另一个列表的所有值一起使用[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用collect()和for循环的情况下将一个(IP地址)的特定部分与RDD python pyspark中另一列中的其他IP地址进行比较

Python - 有效地检查列表中的每个项目与其他项目

如何将特定索引处的列表数据发送到颤动中另一个列表的特定索引

如何使用 Django 中另一个模型的主键获取条目?

python 如果它是python中另一个列表的子列表,则返回列表的索引

获取比python中另一个字符串“大”的字符串列表的元素