gpt4 book ai didi

python - 更好地等效于这个疯狂的嵌套 python for 循环

转载 作者:太空狗 更新时间:2023-10-29 20:54:47 25 4
gpt4 key购买 nike

for a in map:
for b in map[a]:
for c in map[b]:
for d in map[c]:
for e in map[d]:
print a+b+c+d+e

上面的代码用于创建图中一定长度的所有路径。map[a] 表示从 a 点可以到达的点。

如何更改它以模拟具有任意数量的循环?

这就像笛卡尔积 (itertools.product),在每次迭代中您对下一个元素的选择仅限于 map[current_point] 中的元素。

最佳答案

map = {
'a': ['b', 'c'],
'b': ['c', 'd'],
'c': ['d', 'a'],
'd': []
}

def print_paths(map, start, length, prefix = ''):
if length == 0:
print prefix
else:
for a in map[start]:
print_paths(map, a, length - 1, prefix + start)

for a in map.keys():
print_paths(map, a, 5)

关于python - 更好地等效于这个疯狂的嵌套 python for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8906351/

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