gpt4 book ai didi

python - 在 Python 中编写多重嵌套 for 循环的最佳方法是什么

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:33 25 4
gpt4 key购买 nike

我正在编写需要使用嵌套循环的代码,如下所示:

for r in range(m):
for s in range(r+1, m):
for t in range(s+1, m):
for u in range(t+1, m):
for v in range(u+1, m):
arr.append([r,s,t,u,v])

但是这种传统的嵌套循环看起来非常难看。有没有办法用更少的行执行相同的操作?

我查看了 itertools.product,但我无法得到我想要的东西,因为我的循环的所有开始/结束索引都取决于之前的级别。

最佳答案

您可以使用 itertools.combinations,第二个参数是您要执行的循环数。

from itertools import combinations
for item in combinations("ABCD", 3):
print item

输出

('A', 'B', 'C')
('A', 'B', 'D')
('A', 'C', 'D')
('B', 'C', 'D')

所以,有了列表理解,整个代码就变成了这样

[list(item) for item in combinations("ABCD", 3)]

关于python - 在 Python 中编写多重嵌套 for 循环的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20160235/

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