当前位置: 首页 > 面试题库 >

python中两个列表的排列

郭元凯
2023-03-14
问题内容

我有两个列表,例如:

list1 = ['square','circle','triangle']
list2 = ['red','green']

如何创建这些列表的所有排列,如下所示:

[
  'squarered', 'squaregreen',
  'redsquare', 'greensquare',
  'circlered', 'circlegreen',
  'redcircle', 'greencircle',
  'trianglered', 'trianglegreen',
  'redtriangle', 'greentriangle'
]

我可以用itertools吗?


问题答案:
>>> import itertools
>>> map(''.join, itertools.chain(itertools.product(list1, list2), itertools.product(list2, list1)))
['squarered', 'squaregreen', 'circlered',
'circlegreen', 'trianglered', 'trianglegreen',
'redsquare', 'redcircle', 'redtriangle', 'greensquare',
'greencircle', 'greentriangle']


 类似资料:
  • 问题内容: 我在尝试实现的算法周围束手无策。我有两个列表,希望从两个列表中进行特定组合。 这是一个例子。 在这种情况下,输出为: 我的名字可能比数字多,即。这是一个具有3个名称和2个数字的示例: 输出: 问题答案: 注意 :此答案是针对上面提出的特定问题的。如果您来自Google,只是想寻找一种使用Python获得笛卡尔积的方法,或者您可能正在寻找简单的列表理解方法- 请参见其他答案。 假设。然后

  • 问题内容: 这个问题已经在这里有了答案 : 从列表列表中删除重复项 (12个答案) 4年前关闭。 这是我的两个清单。 我的输出应为以下内容; 如何获得此输出? 先感谢您 问题答案: 您将必须将列表转换为元组列表,然后使用交集。请注意,下面的解决方案可能具有不同顺序的元素,并且由于我使用的是set,因此显然不会存在重复项。 您也可以将交叉点保存在变量中并获取最终列表,如果需要排序,则需要重复: 和交

  • 我正在做一个项目,所以我把我的问题简化为: 任何帮助都将不胜感激。

  • 问题内容: 我正在尝试找出将两个列表合并为所有可能组合的最佳方法。因此,如果我从两个这样的列表开始: 结果列表如下所示: 也就是说,它基本上会生成一个列表列表,其中包含所有可能的组合。 我一直在通过itertools进行工作,我肯定可以找到答案,但是我无法提出一种使其以这种方式起作用的方法。我最接近的是: 哪个产生了: 因此,它会执行每个列表中所有可能的项目组合,但不会执行所有可能的结果列表。我如

  • 问题内容: 我有一个从排序的csv创建的以下列表 我实际上想按两个条件对列表进行排序:首先按字段1中的值,然后按字段2中的值。我该怎么做? 问题答案: 像这样:

  • 我有一个关于python中链接列表的快速问题。在下面显示的解决方案代码中,当我尝试合并两个排序的链接列表时。我对包含的if和elif语句的条件感到困惑。例如,如果l1不为空,l2为空,我想将l1中的其余3个元素添加到我的新链接列表中,但代码显示l1和tail没有更新,所以它不是只添加3个元素中的一个吗? 我的另一个问题是关于返回head.next.返回会自动返回从head.next到null pt