Значения 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)) 

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

  • понимание вложенного списка python
  • Самый эффективный способ Python выбрать самую длинную строку в списке?
  • Python: найдите последовательное изменение в одном члене пар списка, сообщите другое
  • Использование определения списка для соответствия значениям словарей, которые хранятся в списках
  • Ошибка синтаксиса Python - In и Not In List
  • Выделение элементов из списка python с определенными индексами
  • Python, работающий со списком
  • Учет списка, проверьте, уникален ли элемент
  •  
    Interesting Posts for Van-Lav

    Python unittest: to mock.patch () или просто заменить метод с помощью Mock?

    Как Geckodriver / Firefox работает без Marionette? (запуск pelon selenium 3 против FF 53)

    Есть ли поле doststring reST Python для уроков?

    Использование косинусного расстояния с помощью scikit learn KNeighborsClassifier

    Сбой Python при запуске двух команд (Segmentation Fault: 11)

    Поиск элемента в одном массиве, соответствующего максимальному значению в другом

    Аутентификация только через файл конфигурации?

    Определить период неизвестного источника

    matplotlib.pyplot.imshow: удаление пробелов в пределах участков при использовании атрибутов «sharex» и «sharey»

    Предел дерева элементов на xpath

    Почему моя простая программа python gtk + cairo работает так медленно / заикается?

    Есть ли IDE / утилита для реорганизации импорта Python * для использования стандартного синтаксиса module.member?

    Установите символ валюты при записи с помощью xlsxwriter

    Интерактивная векторная графика для python?

    Удалите все специальные символы, знаки препинания и пробелы из строки

    Python - лучший язык программирования в мире.