Python中具有多个条件的For循环
我有3个大小相同的列表(列表1、2和3)。我希望遍历列表并对每个项执行操作。像Python中具有多个条件的For循环,python,for-loop,python-2.x,Python,For Loop,Python 2.x,我有3个大小相同的列表(列表1、2和3)。我希望遍历列表并对每个项执行操作。像 for x in List1, y in List2, z in List3: if(x == "X" or x =="x"): //Do operations on y elif(y=="Y" or y=="y"): //Do operations on x,z 所以我只想遍历列表中的“列表长度1或2或大小”,然后对x、y和z执行操作。如何使用Python实现这
for x in List1, y in List2, z in List3:
if(x == "X" or x =="x"):
//Do operations on y
elif(y=="Y" or y=="y"):
//Do operations on x,z
所以我只想遍历列表中的“列表长度1或2或大小”,然后对x、y和z执行操作。如何使用Python实现这一点
编辑:Python版本2.6.6
import itertools
for x, y, z in itertools.izip(List1, List2, List3):
# ...
或者在Python3中使用
zip
。@wim:如果您想多次使用压缩列表,那就太好了。如果您只想迭代一次,最好使用迭代器/视图。但是我使用的是Python 2.6.6,并且没有定义itertools。itertools
包含在Python 2.6中,您只需要导入它。现在我明白了GvR为什么不想在语言中使用map、reduce等/@karl knechter,顺便问一下,替换reduce
的首选方法是什么?我认为您应该明确地编写for循环。请注意,我没有说我同意
>>> map(lambda x, y, z: (x, y, z), range(0, 3), range(3, 6), range(6, 9))
[(0, 3, 6), (1, 4, 7), (2, 5, 8)]