Существует пять различных способов преобразования списка в кортеж в Python.
- 1. С помощью конструктора tuple()
- 2. С помощью цикла for
- 3. С помощью оператора распаковки (*)
- 4. Используя понимание списка внутри tuple()
- 5. С помощью map() с лямбда-функцией
- 1. Преобразование списка списков в кортеж кортежей
- 2. Изменить список с одним элементом на кортеж
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, показан результат.
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.
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.
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 снимок экрана указан ниже.
Теперь давайте рассмотрим несколько различных сценариев преобразования списка в кортеж в 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 представлен ниже.