繁体   English   中英

Python “for 循环”,带有 2 个列表/变量

[英]Python “for loop” with 2 lists/variables

我有以下代码:

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 中的每个元素与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

你可以做:

for i in range(len(oposlist)):
    # Refer oposlist and osizelist like
    oposlist[i]
    osizelist[i]

Tbh,其他答案更好:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM