事实证明,我正在寻找组合而不是笛卡尔产品。如何使用Python为列表中的单词做笛卡尔积
我需要做几个单词的笛卡尔积(它们都在列表中)。
我输入看起来是这样的:
[[id, [word1,word2,word3]],[id2,[word4,word5,word6]]]
产品需要在列表中的每个列表中的第一个指数的话来进行。意义 - 关于他们自己之间的词1,词2和词3,以及彼此之间的词4,词5和词6等等。
我迄今为止代码:
for row in x:
row[1] = list(itertools.product(*row[1])
的问题是,该脚本的产品。每个字母,而不是的话每一个。
我得到的是这样的:(w,w,w), (w,o,r), (w,o,d)
等
的预期结果是:(word1,word2), (word1,word3), (word2,word3)
。对于其他部分也是如此。
什么是预期的输出,顺便说一句? – WorldSEnder
编辑并添加了预期输出。 – Shachar183