我有以下代码:
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
