gpt4 book ai didi

python - 迭代 python 列表值,其中每个组合仅出现一次但位置独立

转载 作者:行者123 更新时间:2023-12-02 19:14:23 24 4
gpt4 key购买 nike

我有一个 python 列表:

mylist = [1,2,3,4]

并且我想迭代这些值的所有可能组合而不依赖于位置,大小为三,意味着我希望将它们作为迭代:

iteration: 111
iteration: 112
iteration: 113
iteration: 114
iteration: 221 # note, no 211, since the combination of these values already occured as 112
iteration: 222
iteration: 223
iteration: 224
.
.
.

我考虑过迭代列表的唯一值,但我仍然没有找到解决这个问题的简单解决方案,我至少认为这个问题经常发生。也许有一个很好的 numpy 方法可以做到这一点。我怎样才能实现这个目标?

谢谢!

最佳答案

也许itertools.combinations_with_replacement就是您要找的:

from itertools import combinations_with_replacement

l = [1, 2, 3, 4]

for c in combinations_with_replacement(l, 3):
print(c)

打印:

(1, 1, 1)
(1, 1, 2)
(1, 1, 3)
(1, 1, 4)
(1, 2, 2)
(1, 2, 3)
(1, 2, 4)
(1, 3, 3)
(1, 3, 4)
(1, 4, 4)
(2, 2, 2)
(2, 2, 3)
(2, 2, 4)
(2, 3, 3)
(2, 3, 4)
(2, 4, 4)
(3, 3, 3)
(3, 3, 4)
(3, 4, 4)
(4, 4, 4)

关于python - 迭代 python 列表值,其中每个组合仅出现一次但位置独立,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63883293/

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