Чтобы создать список в Python, используйте квадратные скобки([]). Чтобы создать кортеж, используйте круглые скобки(( )). Список имеет переменную длину, а кортеж имеет фиксированную длину. Следовательно, список может быть изменен, а кортеж — нет.
Преобразование списка в кортеж в Python
Чтобы перевести список Python в кортеж, используйте функцию tuple(). tuple() — это встроенная функция, которая передает список в качестве аргумента и возвращает кортеж. Элементы списка не изменятся при преобразовании в кортеж. Это самый простой способ преобразования.
Сначала создайте список и преобразуйте его в кортеж с помощью метода tuple().
|
1 2 3 4 5 6 7 |
mando = ["Mandalorian", "Grogu", "Ahsoka Tano", "Bo Katan", "Boba Fett"] print(mando) print(type(mando)) mando_tuple = tuple(mando) print(mando_tuple) print(type(mando_tuple)) |
Вывод:
|
1 2 3 |
['Mandalorian', 'Grogu', 'Ahsoka Tano', 'Bo Katan', 'Boba Fett'] <class 'list'>('Mandalorian', 'Grogu', 'Ahsoka Tano', 'Bo Katan', 'Boba Fett') <class 'tuple'> |
В этом примере мы определили список и проверили его тип данных. Чтобы проверить тип данных в Python, используйте метод type(). Затем используйте метод tuple() и передайте список этому методу, и он вернет кортеж, содержащий все элементы списка.
Список Python в кортеж, используя (* list, )
Из версии Python 3.5 и выше вы можете сделать этот простой подход, который создаст преобразование из списка в кортеж(*list, ).(*list, ) распаковывает список внутри литерала кортежа, созданного из-за наличия одиночной запятой(, ).
|
1 2 3 4 5 6 7 |
mando = ["Mandalorian", "Grogu", "Ahsoka Tano", "Bo Katan", "Boba Fett"] print(mando) print(type(mando)) mando_tuple =(*mando, ) print(mando_tuple) print(type(mando_tuple)) |
Вывод:
|
1 2 3 |
['Mandalorian', 'Grogu', 'Ahsoka Tano', 'Bo Katan', 'Boba Fett'] <class 'list'>('Mandalorian', 'Grogu', 'Ahsoka Tano', 'Bo Katan', 'Boba Fett') <class 'tuple'> |
Вы можете видеть, что(*mando, ) возвращает кортеж, содержащий все элементы списка. Никогда не используйте имена переменных, такие как tuple, list, dictionary или set, чтобы улучшить читаемость кода. Иногда это будет создавать путаницу. Не используйте зарезервированные ключевые слова при присвоении имени переменной.
В Python 2.x, если вы по ошибке переопределили кортеж как кортеж, а не как кортеж типа, вы получите следующую ошибку:
TypeError: объект ‘tuple’ не вызывается.
Но если вы используете Python 3.x или последнюю версию, вы не получите никаких ошибок.
|
1 2 3 4 5 |
mando =("Mandalorian", "Grogu", "Ahsoka Tano", "Bo Katan", "Boba Fett") print(mando) mando_tuple = tuple(mando) print(mando_tuple) |
Вывод:
|
1 |
('Mandalorian', 'Grogu', 'Ahsoka Tano', 'Bo Katan', 'Boba Fett')('Mandalorian', 'Grogu', 'Ahsoka Tano', 'Bo Katan', 'Boba Fett') |
Удаление последней запятой в кортеже
Чтобы удалить запятую из каждого кортежа в списке в Python, отформатируйте вывод вручную, используя функции join() и format().
