Значения Python для нескольких списков в одном понимании списка

Есть ли какой-либо умный способ написать понимание списка более чем одного списка?

Я знаю, что я мог бы использовать отдельный список диапазонов в качестве индекса, но таким образом я должен знать длину (или получить ее отдельно с вызовом функции len() ).

 >>> a = range(10) >>> b = range(10, 0, -1) >>> [(a[x],b[x]) for x in range(10)] [(0, 10), (1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)] 

Я хотел бы иметь что-то вроде этого:

 >>> [(a,b) for a in range(10) and b in range(10, 0, -1)] [(0, 10), (1, 9), (2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)] 

Как бы вы описали понимание списка? Есть ли способ сделать это с помощью itertools?

Список диапазонов просто подходит для любого списка, и я не обязательно хочу получить кортеж. также может быть функция, которая принимает a и b как параметры. Так что zip не то, что я хочу.

UPDATE: «Так что zip не то, что я хочу». Я имел в виду, что я не хочу zip(range(10), range(10, 0, -1))

2 Solutions collect form web for “Значения Python для нескольких списков в одном понимании списка”

Ваш пример:

 zip(range(10), range(10, 0, -1)) 

В более общем плане вы можете присоединиться к любому набору итераций, используя zip :

 [func(a, d, ...) for a, b, ..., n in zip(iterable1, iterable2, ..., iterableN)] 

Если вы хотите применить функцию к нескольким последовательностям, вам нужна map или itertools.imap :

 map(lambda *x: sum(x), range(10), range(10, 0, -1), range(0,20, 2)) 

Вам не нужно застегивать молнию, если вы предпочитаете делать свое сопоставление в понимании списка

  • Самый быстрый способ преобразования итератора в список
  • Элегантный способ удаления элементов в списке, которые не имеют подстрок, которые отображаются в другом списке
  • Pythonic способ распечатать элементы списка
  • Ошибка синтаксиса Python - In и Not In List
  • Транспонирование матрицы в Python
  • Попытка понимания списка Python с двумя переменными разных диапазонов
  • Как удалить список слов из списка строк
  • Массивное понимание в JavaScript?
  • Понимание Python-списка в Java
  • Подсчет положительных элементов в списке с использованием списков Python
  • Элементы sum в списке python только в том случае, если элементы в отдельном булевом списке True
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.