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

Содержание

1. С помощью конструктора tuple()

Это самый простой и прямой метод. Мы можем передать список в качестве аргумента функции tuple() в 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:

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

С помощью конструктора tuple()

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:

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

С помощью цикла for

3. С помощью оператора распаковки (*)

Этот метод предполагает распаковку всех элементов списка с помощью оператора * и последующую их переупаковку в кортеж на 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:

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

С помощью оператора распаковки (*)

4. Используя понимание списка внутри tuple()

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

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

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:

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

Используя понимание списка внутри tuple()

5. С помощью 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:

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

С помощью map() с лямбда-функцией

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

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

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

Конструктор 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:  
City: New York, Type: 
City: Los Angeles, Type:

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

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

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

Здесь мы можем использовать любой из упомянутых выше методов для преобразования списка с одним элементом в кортеж в 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:

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

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

Добавить комментарий