[英]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.