如何创建一个由两个不同列表元素组合而成的新列表而不重复?

2024-05-16 00:37:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个画布,有2刺激。请注意,刺激列表可以更长

sti1 = ["death", "pain"]
sti2 = ["glass", "book"]

这些刺激将如下所示:

第1帧:死亡之书/第2帧:玻璃之痛

但它们必须正确洗牌。我的意思是,如果有一个“死亡x书”的组合,肯定不会有另一个。此外,必须显示所有组合。此外,所有帧必须包含sti1中的一个单词和sti2中的一个单词。

我是这么想的:

  1. 创建包含所有组合的组合列表

  2. 使用for循环进行初始化

如果有其他解决方案,而不是创建一个组合列表并对其进行迭代,我对新事物持开放态度

我试过了: 随机选择 itertools.排列 itertools.combinations(最接近的答案,但它只能组合1个列表,如sti1)

预期结果: 组合列表=[(死亡,玻璃),(死亡,书本),(痛苦,玻璃),(痛苦,书本)]


Tags: 列表for画布解决方案单词事物itertoolspain
1条回答
网友
1楼 · 发布于 2024-05-16 00:37:18

为此,您需要^{}

from itertools import product
list(product(sti1,sti2))
[('death', 'glass'), ('death', 'book'), ('pain', 'glass'), ('pain', 'book')]

相关问题 更多 >