gpt4 book ai didi

python - 两个元素的组合

转载 作者:行者123 更新时间:2023-11-28 19:39:36 27 4
gpt4 key购买 nike

用 python 。可以使用此方法排列列表中的元素:

def perms(seq):
if len(seq) <= 1:
perms = [seq]
else:
perms = []
for i in range(len(seq)):
sub = perms(seq[:i]+seq[i+1:])
for p in sub:
perms.append(seq[i:i+1]+p)

return perms

如果列表是:seq = ['A', 'B', 'C'],结果将是..

[['A', 'B', 'C'], ['A', 'C', 'B'], ['B', 'A', 'C'], ['B' , 'C', 'A'], ['C', 'A', 'B'], ['C', 'B', 'A']]

如何修改此方法,一次对两个项进行排列?我的意思是,如果列表是:seq = ['A', 'B', 'C']。我想接收 [['A', 'B'], ['A', 'C'], ['B', 'C'].

我做不到。我正在尝试,但我做不到。感谢您的帮助。

最佳答案

考虑使用 Python 的 itertools 模块中的 combinations 函数:

>>> list(itertools.combinations('ABC', 2))
[('A', 'B'), ('A', 'C'), ('B', 'C')]

这就是它所说的:给我所有包含序列 'ABC' 中的两个元素的组合。

关于python - 两个元素的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20762574/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com