当前位置: 首页 > 知识库问答 >
问题:

列表元素列表的组合[重复]

索曾琪
2023-03-14

我想要一个列表,它是列表元素列表的组合,例如:我的输入

x = [['P'], ['E', 'C'], ['E', 'P', 'C']]

输出应该是

['PEE','PEP','PEC','PCE','PCP','PCC']]

非常感谢您的帮助。

共有2个答案

松骏俊
2023-03-14

这里有个解决办法

def comb(character_list_list):
  res = ['']
  for character_list in character_list_list:
    res = [s+c for s in res for c in character_list]
  return res

在你的例子中,正如预期的那样

>>> comb([['P'], ['E', 'C'], ['E', 'P', 'C']])
['PEE', 'PEP', 'PEC', 'PCE', 'PCP', 'PCC']

可以使用functools.reduce()创建较短的版本,但不建议使用此函数。

濮阳原
2023-03-14

使用itertools

[''.join(i) for i in itertools.product(*x)]

注:假设最后一个应为“PCC”

 类似资料:
  • 问题内容: 假设我有3个列表:[‘q’,’w’],[‘a’,’s’],[‘z’,’x’]。如何从这些列表中获取可能的组合列表?所以我得到一个列表[[‘q’,’a’,’z’],[‘q’,’s’,’z’]]等。我为两个方法创建了一个方法,但对N个列表却找不到一个方法: 我发现这是由番石榴的Sets.cartesianProduct完成的。 问题答案: 您需要N个嵌套循环,这使它变得很难。 您可以使用递

  • 我想把两个列表合并成一个列表列表。反之亦然。我找不到任何工作,我对Python非常陌生 例子: 如何将S拆分回原来的S1和S2?示例:

  • 假设我有一个由n个字符串列表组成的列表: result->包含所有输出列表(所有组合) current->是当前的组合 用上述相同示例调用此函数时的输出:

  • 问题内容: 编辑:这不是如何获取列表元素的所有可能组合的精确重复? 本主题是关于查找唯一组合,而另一主题是关于查找所有组合。 如果我有python列表: 从以下列表中获取3个元素的所有可能 唯一组合 的最佳方法是什么: 组合中元素的顺序无关紧要。例如,和将被视为相同的组合。 我可能可以编写一些循环来执行此操作,但我认为可能会有一个单行代码可以执行相同操作。 问题答案: 您需要:

  • 我有一个熊猫数据框,其中一列由列表组成: 我想添加,例如,每个列表的第一个和最后一个索引。为此,我使用: 这分别作用于每一行,如果数据帧很大,这可能会非常密集。有没有办法将此操作矢量化?