Здесь мы обсудим различные методы преобразования 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]