我想知道是否有一种方法可以使用Python以较短的方式表示以下代码。有placedWall
,placedFlyer
,placedSpring
,和placedDiamonds
。而且,placedWallList
,placedFlyerList
,placedSpringList
,和placedDiamondsList
。我想这样做是因为我将使用相同的重复动作添加更多对象,这将使我的代码不必要地冗长。
for placedWall in placedWallList:
if placedWall.rect.collidepoint(mousePos):
placedsprites.remove(placedWall)
placedWallList.remove(placedWall)
for placedFlyer in placedFlyerList:
if placedFlyer.rect.collidepoint(mousePos):
placedsprites.remove(placedFlyer)
placedFlyerList.remove(placedFlyer)
for placedSpring in placedSpringList:
if placedSpring.rect.collidepoint(mousePos):
placedsprites.remove(placedSpring)
placedSpringList.remove(placedSpring)
for placedDiamonds in placedDiamondsList:
if placedDiamonds.rect.collidepoint(mousePos):
placedsprites.remove(placedDiamonds)
placedDiamondsList.remove(placedDiamonds)
您可能希望将所有列表放到一个字典中,{'walls': […], 'flyers': […], …}
然后尝试以下操作:
for group, items in placed_objects.items():
placed_objects[group] = [x for x in items if not x.collidepoint(mousePos)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句