Рубрики

Python | Распаковка вложенных кортежей

Иногда, работая со списком кортежей Python, мы можем столкнуться с проблемой, из-за которой нам нужно распаковать упакованные кортежи. Это может иметь возможное применение в веб-разработке. Давайте обсудим некоторые способы выполнения этой задачи.

Метод № 1: Использование понимания списка
Эта задача может быть выполнена с использованием понимания списка, в котором мы выполняем итерации для кортежей и создаем желаемый кортеж. Этот метод полезен в случае, если мы знаем точное количество элементов кортежа и позиционирование.

# Python3 код для демонстрации работы
# Распаковка вложенных кортежей
# использование списка понимания

  
# инициализировать список

test_list = [(4, (5, 'Gfg')), (7, (8, 6))]

  
# печать оригинального списка

print("The original list is : " + str(test_list))

  
# Распаковка вложенных кортежей
# использование списка понимания

res = [(x, y, z) for x, (y, z) in test_list]

  
# результат печати

print("The unpacked nested tuple list is : " + str(res))

Выход :

The original list is : [(4, (5, 'Gfg')), (7, (8, 6))]
The unpacked nested tuple list is : [(4, 5, 'Gfg'), (7, 8, 6)]

Метод № 2: Использование списка понимания + оператор « * »
Во многих случаях может быть случай, когда мы не знаем точное количество элементов в кортеже, а также количество элементов является переменным среди кортежей. Оператор «*» может выполнить задачу распаковки этой переменной.

# Python3 код для демонстрации работы
# Распаковка вложенных кортежей
# используя список понимания + * оператор

  
# инициализировать список

test_list = [(4, (5, 'Gfg')), (7, (8, 6))]

  
# печать оригинального списка

print("The original list is : " + str(test_list))

  
# Распаковка вложенных кортежей
# используя список понимания + * оператор

res = [(z, *x) for z, x in test_list]

  
# результат печати

print("The unpacked nested tuple list is : " + str(res))

Выход :

The original list is : [(4, (5, 'Gfg')), (7, (8, 6))]
The unpacked nested tuple list is : [(4, 5, 'Gfg'), (7, 8, 6)]

Рекомендуемые посты:

Python | Распаковка вложенных кортежей

0.00 (0%) 0 votes