gpt4 book ai didi

python - 生成元组以在一个 for 循环中迭代

转载 作者:行者123 更新时间:2023-11-28 22:50:59 27 4
gpt4 key购买 nike

我想通过一次生成所有迭代器来将三个 for 循环减少为一个。基本上我有一本使用元组作为键的字典。我知道我能做到

for aa in range(limitA):
for bb in range(limitB):
for cc in range(limitC):
do_stuff(my_dict[(aa,bb,cc)])

但是有没有一种方法可以减少代码行数呢?有点像

for aa,bb,cc in range(limitA), range(limitB), range(limitC):
do_stuff(my_dict[(aa,bb,cc)])

这将返回错误“ValueError:需要超过 2 个值才能解包

如果一般情况下无法做到这一点,limitA == limitB == limitC 的特殊情况是否有解决方案?

最佳答案

使用itertools.product() :

from itertools import product

for aa, bb, cc in product(range(limitA), range(limitB), range(limitC)):

其中 limitA == limitB == limitC 这可以简化为:

for aa, bb, cc in product(range(limitA), repeat=3):

关于python - 生成元组以在一个 for 循环中迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22144214/

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