Как преобразовать список в кортеж в Python

Хотите преобразовать список в кортеж? В этой статье о программировании на Python я объясню, как преобразовать список в кортеж в Python, используя различные методы, с некоторыми наглядными примерами.

Чтобы преобразовать список в кортеж в Python, мы можем использовать конструктор tuple() для прямого преобразования, цикл for для поэлементного сложения, оператор распаковки (*) для краткого подхода, понимание списка внутри кортежа для удобства чтения или функцию map() с лямбдой для поэлементного преобразования.

Преобразование списка в кортеж в Python

Существует пять различных способов преобразования списка в кортеж в Python:

  1. Конструктор tuple()
  2. Цикл for
  3. Оператор распаковки (*)
  4. Списковое включение (внутри кортежа)
  5. Использование map() с lambda-функцией

Давайте рассмотрим их все по отдельности на нескольких примерах:

1. Python преобразует список в кортеж с помощью конструктора tuple().

Это самый простой и прямой метод. Мы можем передать список в качестве аргумента функции tuple() в Python, которая преобразует и возвращает его в виде кортежа.

Вот код для преобразования списка в кортеж в Python с помощью функции tuple():

states_visited = ['California', 'Nevada', 'Utah']
states_tuple = tuple(states_visited)
print("After conversion:", states_tuple)
print("The class is: ", type(states_tuple))

Выход:

After conversion: ('California', 'Nevada', 'Utah')
The class is: <class 'tuple'>

На следующем снимке экрана, сделанном после реализации кода в Pycharm, показан результат.

Как преобразовать список в кортеж в Python

2. Преобразуйте список в кортеж с помощью цикла for.

В этом методе мы перебираем каждый элемент списка в Python с помощью цикла for и добавляем их в изначально пустой кортеж с помощью оператора +=.

Вот код для преобразования списка в кортеж в Python с использованием цикла for с оператором +=:

weekly_temps = [58, 60, 62, 65, 63, 61, 59]
temps_tuple = ()
for temp in weekly_temps:
 temps_tuple += (temp,)

print("After conversion:", temps_tuple)
print("The class is: ", type(temps_tuple))

Выход:

After conversion: (58, 60, 62, 65, 63, 61, 59)
The class is: <class 'tuple'>

Ниже приведен снимок экрана, демонстрирующий результат выполнения кода в редакторе Pycharm.

Список для кортежа в Python

3. Преобразуйте список в кортеж в Python с помощью оператора распаковки (*).

Этот метод предполагает распаковку всех элементов списка с помощью оператора * и последующую их переупаковку в кортеж на Python.

Чтобы преобразовать список в кортеж в Python с помощью оператора *, можно использовать код, указанный ниже:

fast_food_chains = ['McDonald\'s', 'Burger King', 'Taco Bell']
chains_tuple = (*fast_food_chains,)
print("After conversion:", chains_tuple)
print("The class is: ", type(chains_tuple))

Выход:

After conversion: ("McDonald's", 'Burger King', 'Taco Bell')
The class is: <class 'tuple'>

После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.

Как преобразовать список в кортеж в Python

4. Преобразуйте список в кортеж, используя списковое включение внутри кортежа().

Здесь мы используем списковое включение внутри функции tuple(). Мы перебираем все элементы списка, используя понимание списка, а затем добавляем их в пустой кортеж, созданный с помощью конструктора tuple().

Вот код для преобразования списка в кортеж в Python с использованием list comprehension:

airports = ['LAX', 'JFK', 'ATL', 'ORD', 'DFW']
airports_tuple = tuple([airport for airport in airports])
print("After conversion:", airports_tuple)
print("The class is: ", type(airports_tuple))

Выход:

After conversion: ('LAX', 'JFK', 'ATL', 'ORD', 'DFW')
The class is: <class 'tuple'>

Ниже приведен скриншот после реализации кода в редакторе Pycharm.

Программа Python для преобразования списка в кортеж

5. Преобразуйте список в кортеж в Python с помощью map() с лямбда-функцией.

Этот метод полезен, когда мы хотим применить функцию (здесь лямбда-функция) к каждому элементу списка во время преобразования. Функция map() обрабатывает каждый элемент списка, а функция tuple() преобразует результат в кортеж.

Код, упомянутый ниже, демонстрирует, как преобразовать список в кортеж в Python с помощью функции map() с лямбда-функцией:

publication_years = [1925, 1951, 1960, 1985]
years_tuple = tuple(map(lambda x: x, publication_years))
print("After conversion:", years_tuple)
print("The class is: ", type(years_tuple))

Выход:

After conversion: (1925, 1951, 1960, 1985)
The class is: <class 'tuple'>

После реализации кода в редакторе Pycharm снимок экрана указан ниже.

преобразовать список в кортеж в Python

Теперь давайте рассмотрим несколько различных сценариев преобразования списка в кортеж в Python:

1. Преобразование списка списков в кортеж кортежей в Python

Списковое включение в конструкции кортежа используется для преобразования списка списков в кортеж кортежей. Он включает в себя перебор каждого элемента (подсписка) исходного списка и преобразование каждого из этих подсписков в кортеж. Конструктор tuple() преобразует всю структуру в кортеж кортежей.

Вот код для преобразования списка списков в кортеж кортежей в Python:

city_coordinates = [
 ['New York', [40.7128, -74.0060]],
 ['Los Angeles', [34.0522, -118.2437]]
]
city_coordinates_tuple = tuple(tuple(city) for city in city_coordinates)
print("After conversion:", city_coordinates_tuple)
print("The class is: ", type(city_coordinates_tuple))

# Check if each item in the tuple is also a tuple
for city in city_coordinates_tuple:
 print(f"City: {city[0]}, Type: {type(city)}")

Выход:

After conversion: (('New York', [40.7128, -74.006]), ('Los Angeles', [34.0522, -118.2437]))
The class is: <class 'tuple'>
City: New York, Type: <class 'tuple'>
City: Los Angeles, Type: <class 'tuple'>

На снимке экрана ниже показан вывод после запуска кода в редакторе Pycharm.

список для кортежа Python

2. Изменить список с одним элементом на кортеж в Python

Здесь мы можем использовать любой из упомянутых выше методов для преобразования списка с одним элементом в кортеж в Python.

Вот код для преобразования списка с одним элементом в кортеж в Python:

highest_peak = ['Denali']
highest_peak_tuple = tuple(highest_peak)
print("After conversion:", highest_peak_tuple)
print("The class is: ", type(highest_peak_tuple))

Выход:

After conversion: ('Denali',)
The class is: <class 'tuple'>

Результат выполнения кода в Pycharm представлен ниже.

список Python в кортеж

Заключение

Понять, как преобразовать список в кортеж в Python, легко, используя несколько методов. Использование конструктора tuple() предлагает прямой подход, а цикл for позволяет выполнять пользовательские преобразования. Оператор распаковки (*) и понимание списка внутри кортежа предоставляют удобочитаемую альтернативу. Наконец, функция map() с лямбда-функцией подходит для сценариев, требующих поэлементных операций во время преобразования.

Каждый метод подходит для разных случаев использования, что повышает гибкость программирования на Python.