Python:3个元素的排列

Python:3个元素的排列,python,list,combinations,permutation,Python,List,Combinations,Permutation,如何在Python中找到包含3个元素的列表的所有排列 例如,输入 [1, 2, 3, 4] 会回来吗 [1, 2, 3] [1, 2, 4] [1, 3, 4] [2, 3, 4] 谢谢 您要使用和: 关于您的评论,您可以通过添加和*来创建字符串列表: *注意:你需要做map(str,x),因为str.join需要一组字符串。试试看itertools.permutations这是谷歌搜索中出现的第一件事。在提问之前,请做些调查。OP想要的是组合而不是像他所说的排列,所以,他感到困惑,需要

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

例如,输入

[1, 2, 3, 4]
会回来吗

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

您要使用和:


关于您的评论,您可以通过添加和*来创建字符串列表:



*注意:你需要做
map(str,x)
,因为
str.join
需要一组字符串。

试试看
itertools.permutations
这是谷歌搜索中出现的第一件事。在提问之前,请做些调查。OP想要的是组合而不是像他所说的排列,所以,他感到困惑,需要帮助。我绝对认为这是这个网站的一个问题。你会如何把它作为一个字符串,比如return['123'、'124'、'134'、'234']@qq121-请看我的编辑。
>>> 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]]
>>>
>>> from itertools import combinations
>>> lst = [1, 2, 3, 4]
>>> [''.join(map(str, x)) for x in combinations(lst, 3)]
['123', '124', '134', '234']
>>>