gpt4 book ai didi

python - 找出 N 个槽中 3 个数字的所有可能排列 [Python]

转载 作者:行者123 更新时间:2023-12-05 03:31:47 25 4
gpt4 key购买 nike

所以我需要想办法得到 3 个数字的所有排列,即 1、0 和 -1当有 N 个槽时。

所以在有 2 个槽 (N=2) 的情况下,函数将返回:

[
[1,1],
[1,0],
[0,1],
[0,0],
[-1,0],
[0,-1],
[-1,-1],
[1,-1],
[-1,1]
]

同样,如果 N = 3,我们的结果会长很多,所以我不打算在这里写出来。

老实说,我不确定如何编写函数来完成此操作。如果有人有任何建议,我会很乐意听取他们的意见!

值得注意:itertools.permutations 在这种情况下不起作用,因为如果我超过 3 个插槽,它只会返回任何内容。需要找到一个解决方案,当有多达 10 个插槽时可以工作。

最佳答案

这不是关于排列的问题——您要生成笛卡尔积!特别是,您希望生成 {-1, 0, 1} x {-1, 0, 1} x {-1, 0, 1} x ...(重复 n 组)

此代码片段计算以上内容:

n = 2
nums = [-1, 0, 1]
print(list(list(entry) for entry in itertools.product(nums, repeat=n)))

关于python - 找出 N 个槽中 3 个数字的所有可能排列 [Python],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70588091/

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