Для цикла с несколькими условиями в Python - PullRequest
4 голосов
/ 16 ноября 2011

У меня есть 3 списка одинаковых размеров (List1,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?

Редактировать: Python версии 2.6.6

Ответы [ 2 ]

8 голосов
/ 16 ноября 2011
import itertools
for x, y, z in itertools.izip(List1, List2, List3):
    # ...

Или просто zip в Python 3.

0 голосов
/ 16 ноября 2011
>>> 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)]
...