Skip to main content
 首页 » 编程设计

带有 2 个列表/变量的 Python "for loop"

2025年05月04日20zdz8207

我有以下代码:

def odraw(oposlist, osizelist): 
    for opos in oposlist and osize in osizelist: 
        pygame.draw.rect(screen, black, (opos[0], opos[1], osize[0], osize[1])) 

如何改写第二行?现在的写法显然不符合 Python 语法。

请您参考如下方法:

如果您正在寻找成对迭代,请使用 zip :

for opos, osize in zip(oposlist, osizelist): 

但是,如果您想要笛卡尔积(将 oposlist 中的每个元素与 osizelist 中的每个元素配对),请使用 itertools.product ...

from itertools import product 
# ... 
for opos, osize in product(oposlist, osizelist): 

... 或者简单地嵌套循环:

for opos in oposlist: 
    for osize in oposlist: 
        # do stuff