【问题标题】:Python: Permutations of 3 Elements [duplicate]Python:3个元素的排列[重复]
【发布时间】:2023-04-05 16:09:01
【问题描述】:

如何在 Python 中找到包含 3 个元素的列表的所有排列?

例如输入

[1, 2, 3, 4]

会回来

[1, 2, 3]
[1, 2, 4]
[1, 3, 4]
[2, 3, 4]

谢谢!

【问题讨论】:

  • 试试看itertools.permutations
  • 字面意思是谷歌搜索中弹出的第一件事。请在提问前做一些研究。 stackoverflow.com/questions/104420/…
  • OP 想要组合而不是他说的排列,所以他很困惑,需要帮助。我绝对认为这是这个网站的问题。

标签: python list combinations permutation


【解决方案1】:

您想使用itertools.combinationslist comprehension

>>> from itertools import combinations
>>> lst = [1, 2, 3, 4]
>>> [list(x) for x in combinations(lst, 3)]
[[1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]
>>>

关于您的评论,您可以通过添加 str.joinmap* 来制作该字符串列表:

>>> from itertools import combinations
>>> lst = [1, 2, 3, 4]
>>> [''.join(map(str, x)) for x in combinations(lst, 3)]
['123', '124', '134', '234']
>>>

*注意:您需要使用map(str, x),因为str.join 需要一个可迭代的字符串。

【讨论】:

  • 你会如何将它作为一个字符串,比如 return ['123', '124', '134', '234']
  • @qq121 - 查看我的编辑。
猜你喜欢
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 2019-01-18
  • 2023-03-18
  • 2018-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多