Здесь мы обсудим различные методы преобразования Python Tuple в список.
- Метод 1: с помощью встроенной функции list()
- Способ 2: использование цикла for
- Метод 3: использование понимания списка
- Способ 4: использование оператора *
- Метод 5: использование конструктора списка с итерацией
- Способ 6: использование функции карты и конструктора списка
- Метод 7: использование функции сокращения модуля functools
- Метод-8: использование цепного метода модуля itertools
- Метод 9: Использование функции суммы
- Метод 10: использование лямбда-функции
- Способ 11: использование функции zip
- Метод 12: Использование функции eval
- Метод 13: использование вложенных циклов for
- Метод 14: использование рекурсивного метода
- Метод 15: использование функции перечисления
- Метод 16: Использование карт() и eval()
Метод 1: с помощью встроенной функции list()
Этот метод использует встроенную функцию списка, которая принимает итерируемый объект в качестве аргумента и возвращает список. Простая передача кортежа в качестве аргумента функции списка преобразует его в список.
# Define a tuple with values 10, 20, 30, 40, 50 value =(10, 20, 30, 40, 50) # Convert the tuple to a list my_tuple = list(value) # Print the list print(my_tuple)
Приведенный выше код определяет значение кортежа со значениями 10, 20, 30, 40, 50. Затем он преобразует кортеж в список my_tuple с помощью функции list().
- Наконец, он печатает список с помощью функции print(). Результатом будет список [10, 20, 30, 40, 50].

Способ 2: использование цикла for
Этот метод использует цикл for для перебора каждого элемента кортежа и добавления каждого элемента в новый список. При этом создается новый список с теми же элементами, что и исходный кортеж.
# Define a tuple countries
countries =("United Kingdom", "USA", "Canada", "Brazil")
# Create an empty list to store the elements of the tuple
lst = []
# Loop through each element in the tuple
for i in countries:
# Append each element to the list
lst.append(i)
# Print the list
print(lst)
Код определяет кортеж стран с названиями стран «Великобритания», «США», «Канада», «Бразилия». Затем он создает пустой список lst для хранения элементов кортежа.
- Затем код проходит через каждый элемент кортежа с помощью цикла for и добавляет каждый элемент в список lst с помощью метода добавления.
- Наконец, он печатает список с помощью функции print(). Результатом будет список [‘Великобритания’, ‘США’, ‘Канада’, ‘Бразилия’].
Output: ['United Kingdom', 'USA', 'Canada', 'Brazil']
Метод 3: использование понимания списка
Этот метод использует краткий и эффективный синтаксис для создания списка из итерируемого объекта, называемый пониманием списка. Просто укажите итерируемый объект в качестве входных данных для понимания списка, и каждый элемент итерируемого объекта будет добавлен в новый список.
# Define a tuple with country names
t =("USA", "Brazil", "United Kingdom", "Canada")
# Create a list of the elements of the tuple using a list comprehension
lst = [i for i in t]
# Print the list
print(lst)
Приведенный выше код определяет кортеж t с названиями стран «США», «Бразилия», «Великобритания», «Канада».
- Затем он создает список lst, используя механизм определения списка, который проходит через каждый элемент кортежа t и добавляет каждый элемент в список lst.
- Наконец, он печатает список с помощью функции print().
Output: ['USA', 'Brazil', 'United Kingdom', 'Canada']
Способ 4: использование оператора *
Этот метод использует оператор * для распаковки элементов кортежа и добавления их в новый список. Оператор * позволяет передавать функции несколько аргументов или распаковывать список или кортеж на отдельные элементы.
# Define a tuple with country names
t =("USA", "Brazil", "United Kingdom", "Canada")
# Create a list from the tuple using the "unpacking" operator *
lst = [*t]
# Print the list
print(lst)
Приведенный выше код определяет кортеж t с названиями стран «США», «Бразилия», «Великобритания», «Канада».
- Затем он создает список lst, используя оператор «распаковки» * для распаковки элементов кортежа в список. Наконец, он печатает список с помощью функции print().

Метод 5: использование конструктора списка с итерацией
Этот метод использует конструктор списка для создания списка из итерируемого объекта, в частности, с помощью функции iter для создания итератора из кортежа.
- Конструктор списка принимает итерируемый объект в качестве аргумента, поэтому передача результата iter(t) конструктору списка преобразует кортеж в список.
# Define a tuple with country names
t =("USA", "Brazil", "United Kingdom", "Canada")
# Convert the tuple to a list using the built-in function `list` and the `iter` function
lst = list(iter(t))
# Print the list
print(lst)
Приведенный выше код определяет кортеж t с названиями стран «США», «Бразилия», «Великобритания», «Канада».
Затем он создает список lst, используя функцию list и передавая кортеж функции iter. Наконец, он печатает список с помощью функции print().
Output: ['USA', 'Brazil', 'United Kingdom', 'Canada']
Способ 6: использование функции карты и конструктора списка
Этот метод использует функцию карты для применения функции к каждому элементу кортежа, а затем использует конструктор списка для преобразования результата функции карты в список.
- В этом случае функция, передаваемая в карту, является функцией идентификации, которая просто возвращает каждый элемент без изменений.
# Define a tuple with country names
t =("USA", "United Kingdom", "Canada","Brazil")
# Convert the tuple to a list using the `list` function and the `map` function with a lambda function
lst = list(map(lambda x: x, t))
# Print the list
print(lst)
Приведенный выше код определяет кортеж t, содержащий названия стран. Затем он преобразует кортеж в список с помощью функции list и функции карты с лямбда-функцией, которая возвращает входной элемент x. Наконец, код печатает полученный список.
Output: ['USA', 'United Kingdom', 'Canada', 'Brazil']
Метод 7: использование функции сокращения модуля functools
Этот метод использует функцию сокращения из модуля functools для итеративного применения двоичной функции к элементам кортежа и построения нового списка на основе результатов.
# Import the reduce function from the functools module
from functools import reduce
# Define a tuple of country names
t = ("USA", "United Kingdom", "Canada","Brazil")
# Convert the tuple to a list using the reduce function
lst = reduce(lambda x, y: x + [y], t, [])
# Print the resulting list
print(lst)
Этот код импортирует функцию сокращения из модуля functools и определяет кортеж t из 4 элементов. Затем он использует функцию сокращения с лямбда-функцией для преобразования кортежа t в список.
Output: ['USA', 'United Kingdom', 'Canada', 'Brazil']
Метод-8: использование цепного метода модуля itertools
Этот метод использует метод цепочки из модуля itertools для объединения элементов кортежа в одну итерацию, а затем использует конструктор списка для преобразования результата в список.
# Import the chain method from itertools
from itertools import chain
# Define a tuple of countries
t =("USA", "United Kingdom", "Canada","Brazil")
# Convert the tuple to a list using the chain method
lst = list(chain(t))
# Print the resulting list
print(lst)
Приведенный выше код преобразует кортеж t в список lst с помощью функции цепочки из модуля itertools.
- Функция цепочки принимает итерируемый объект в качестве входных данных и возвращает единый плоский список всех элементов в итерируемых объектах. Здесь кортеж t передается в качестве входных данных в цепочку, а результат присваивается списку lst.
- Наконец, список lst печатается.
Output: ['USA', 'United Kingdom', 'Canada', 'Brazil']
Метод 9: Использование функции суммы
Этот метод использует функцию суммы для объединения элементов кортежа в один список. Функция sum принимает в качестве аргумента итерацию чисел и возвращает сумму всех элементов в итерации.
# Import the sum function from the built-in python library
from builtins import sum
# Define a tuple of countries
t =("USA", "United Kingdom", "Canada","Brazil")
# Create a list from the elements of the tuple
# The sum function is used to concatenate the list of lists into a single list
lst = sum([[x] for x in t], [])
# Print the final list
print(lst)
Приведенный выше код преобразует кортеж t, содержащий элементы «США», «Великобритания», «Канада» и «Бразилия», в список lst.
- Функция sum используется для объединения генератора списка, который преобразует каждый элемент кортежа в список из одного элемента в пустой список [].
- Наконец, распечатывается полученный список lst.
Output: ['USA', 'United Kingdom', 'Canada', 'Brazil']
Метод 10: использование лямбда-функции
Этот метод использует лямбда-функцию для сопоставления каждого элемента кортежа со списком, а затем использует функцию суммы для объединения списков в один список.
- Лямбда-функция принимает один аргумент и возвращает список, в котором этот аргумент является единственным элементом.
# Define a tuple t with elements "USA", "United Kingdom", "Canada","Brazil"
t =("USA", "United Kingdom", "Canada","Brazil")
# Convert each element in the tuple t to a list and store the result in a list
lst = sum(map(lambda x: [x], t), [])
# Print the list
print(lst)
Приведенный выше код преобразует каждый элемент кортежа t в список и сохраняет результат в списке lst.
- Функция карты используется для применения лямбда-функции к каждому элементу кортежа, который принимает элемент x и возвращает список, содержащий x.
- Затем функция sum используется для объединения списка списков в один список. Конечный результат выводится на консоль.
Output: ['USA', 'United Kingdom', 'Canada', 'Brazil']
Способ 11: использование функции zip
Этот метод использует функцию zip для создания пар элементов из кортежа и последовательности целых чисел, а затем использует понимание списка для извлечения элементов кортежа в единый список.
# Define a tuple t
t =("USA", "United Kingdom", "Canada","Brazil")
# Use a list comprehension to convert each element of the tuple into a single element list
# Use zip to create a list of tuples where each tuple contains an element from t and its index
# Unpack each tuple into x and _ and store x in a list
lst = [x for x, _ in zip(t, range(len(t)))]
# Print the list
print(lst)
Приведенный выше код определяет кортеж t, содержащий четыре элемента. Затем код создает список lst, используя генератор списка, который проходит через каждый элемент кортежа t, и для каждого элемента он создает список [x] и присваивает значение текущего элемента x. Наконец, код печатает полученный список.
Output: ['USA', 'United Kingdom', 'Canada', 'Brazil']
Метод 12: Использование функции eval
Этот метод использует функцию eval для оценки строкового представления кортежа в виде выражения Python, а затем преобразует полученный кортеж в список.
# Code to convert a tuple to list
# Define the tuple t
t =("USA", "Canada","United Kingdom", "Brazil")
# Convert the tuple to a string representation and then use the built-in eval function to evaluate the string as a list
lst = list(eval(str(t)))
# Print the resulting list
print(lst)
Код определяет кортеж t и преобразует его в список lst с помощью функции eval().
- Функция str() используется для преобразования кортежа в строковое представление, которое затем передается в качестве аргумента функции eval() для оценки и преобразования обратно в список.
- Наконец, список распечатывается.
Output: ['USA', 'Canada', 'United Kingdom', 'Brazil']
Метод 13: использование вложенных циклов for
Этот метод использует вложенные циклы for для перебора элементов кортежа и добавления каждого элемента в список.
# List of tuple initialization
t = [('apple', 1),('banana', 2),('cherry', 3)]
# using nested for loops
out = []
for tpl in t:
for item in tpl:
out.append(item)
# printing output
print(out)
Этот код определяет список кортежей t, содержащих пары (название фрукта, номер). Затем он использует вложенные циклы for для перебора каждого кортежа в t и каждого элемента в каждом кортеже. Каждый элемент добавляется в новый список out, который наконец распечатывается.
Output: ['apple', 1, 'banana', 2, 'cherry', 3]
Метод 14: использование рекурсивного метода
Этот метод использует рекурсивную функцию для преобразования кортежа в список. Функция принимает кортеж в качестве аргумента и возвращает список.
- Если кортеж пуст, функция возвращает пустой список.
- Если кортеж содержит только один элемент, функция возвращает список, содержащий этот элемент.
- Если кортеж содержит более одного элемента, функция возвращает список, содержащий первый элемент, за которым следует результат вызова функции для остальной части кортежа.
# Define a function to convert tuple to list
def tuple_to_list(t):
# Base case: if the tuple is empty, return an empty list
if not t:
return []
# Base case: if the tuple only has one item, return a list with that item
if len(t) == 1:
return [t[0]]
# Recursive case: append the first item of the tuple to the result of
# calling the function with the rest of the tuple
return [t[0]] + tuple_to_list(t[1:])
# Initialize a tuple
t =(1, 2, 3, 4)
# Call the function to convert the tuple to list
lst = tuple_to_list(t)
# Print the result
print(lst)
В приведенном выше коде определяется функция tuple_to_list, которая принимает кортеж в качестве аргумента t.
- Функция использует рекурсивный подход для преобразования входного кортежа в список.
Output: [1, 2, 3, 4]
Метод 15: использование функции перечисления
Этот метод использует функцию перечисления для преобразования кортежа в список. Функция enumerate возвращает итерацию, которая создает пары индексов и элементов из входной итерации.
- В этом случае входная итерация — это кортеж, который вы хотите преобразовать в список.
# This code defines a tuple "t" which contains four elements
t =("USA", "Canada","United Kingdom", "Brazil")
# The list "lst" is constructed using a list comprehension that iterates over the elements in "t"
# The enumerate function is used to get the index and value of each element in "t"
# The list comprehension uses the value of each element and discards the index
lst = [x for i, x in enumerate(t)]
# The resulting list "lst" is printed
print(lst)
Этот код принимает кортеж t строк и преобразует его в список lst.
- Преобразование выполняется с помощью генератора списка, который перебирает элементы кортежа и их индексы i с помощью enumerate(t) и добавляет каждый элемент x в список lst.
- Наконец, распечатывается полученный список lst.
Output: ['USA', 'Canada', 'United Kingdom', 'Brazil']
Метод 16: Использование карт() и eval()
Этот метод использует функцию карты для применения функции eval к каждому элементу кортежа, преобразуя каждый элемент из строкового представления объекта Python в реальный объект Python. Затем код использует функцию списка для преобразования полученного объекта карты в список.
# code to convert a tuple to a list using map
# Tuple Initialization
t =('1', '2.5', '3', '4.2')
# Using map to convert tuple elements to list
lst = list(map(eval, t))
# Printing the list
print(lst)
Приведенный выше код определяет кортеж t, состоящий из 4 элементов. Затем элементы кортежа преобразуются в список с помощью функции map() вместе с eval().
- Функция eval() оценивает выражение и возвращает значение. Полученный список затем распечатывается.
Output: [1, 2.5, 3, 4.2]