Автор оригинала: Python Examples.
Понимание списка с двумя списками
Понимание списка Python – это способ создания списков Python. Понимание списка более идиоматично и кратко по сравнению с циклическими операторами, в создании списков.
В этом руководстве мы узнаем, как использовать понимание списка с двумя списками и создать новый список.
Синтаксис
Ниже приведен синтаксис понимания списка с двумя списками.
[ expression for x in list_1 for y in list_2 ]
где выражение Может содержать переменные х и y Отказ
Первый для петли ITERATE для каждого элемента list_1 , а второй для петли итерат для каждого элемента в list_2 Отказ
Понимание вышеперечисленного списка эквивалентно следующему коду, использующему вложенным для циклов.
for x in list_1: for y in list_2: expression
Итак, понимание списка с двумя списками генерирует список с количеством элементов, равных продуктам длин двух списков.
Пример 1: Понимание списка с использованием двух списков
В следующем примере мы возьмем два списка и генерируем новый список, используя понимание списка.
Python Program
list_1 = [2, 6, 7, 3] list_2 = [1, 4, 2] list_3 = [ x * y for x in list_1 for y in list_2 ] print(list_3)
Выход
[2, 8, 4, 6, 24, 12, 7, 28, 14, 3, 12, 6]
Объяснение
[ x * y for x in [2, 6, 7, 3] for y in [1, 4, 2] ] = [2 * [1, 4, 2], 6 * [1, 4, 2], 7 * [1, 4, 2], 3 * [1, 4, 2]] = [2, 8, 4, 6, 24, 12, 7, 28, 14, 3, 12, 6]
Пример 2: Перестановки элементов в двух списках с использованием понимания
В следующем примере мы возьмем два списка и генерируем перестановки элементов в этих двух списках.
Python Program
list_1 = [1, 2, 3] list_2 = ['a', 'b', 'c'] list_3 = [ (x, y) for x in list_1 for y in list_2 ] print(list_3)
Выход
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
Резюме
В этом руководстве примеров Python мы узнали, как использовать понимание списка для двух списков для генерации нового списка.