Рубрики
Без рубрики

Понимание списка Python с двумя списками

Автор оригинала: 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 мы узнали, как использовать понимание списка для двух списков для генерации нового списка.