Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 生成元组以在一个for循环中迭代_Python_Iterator_Tuples - Fatal编程技术网

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

Python 生成元组以在一个for循环中迭代,python,iterator,tuples,Python,Iterator,Tuples,我想通过一次生成所有迭代器,将三个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)

我想通过一次生成所有迭代器,将三个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:需要两个以上的值才能解包”

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

使用:

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

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

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

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

哇,太快了。我会直截了当地尝试,这个答案不仅有效,而且给了我很多关于如何嵌套其他for循环的想法,所有这些都在发布问题的30秒内完成。谢谢你,伙计!(我还不能接受你的答案,因为还不到2分钟:)哇,太快了。我会直截了当地尝试,这个答案不仅有效,而且给了我很多关于如何嵌套其他for循环的想法,所有这些都在发布问题的30秒内完成。谢谢你,伙计!(我还不能接受你的回答,因为还不到2分钟:)