Ответ : Самый простой, самый простой и самый читаемый способ преобразования списка в кортеж – встроенный Python кортеж (список)
функция. Вы можете передавать любые намеки (например, список, еще один кортеж или набор) в качестве аргумента в этот так называемый Функция конструктора И это возвращает новую структуру данных кортежей, которая содержит все элементы потенциала.
Преобразование списка в кортеж кажется тривиальным, я знаю. Но продолжай читать, и я покажу вам удивительные способы обращения с этой проблемой. Я гарантирую, что вы узнаете много ценных вещей с 3-5 минут, вы будете прочитать этот учебник! 🙂.
Проблема : Учитывая список элементов. Создайте новый кортеж с теми же элементами – тем самым преобразуя список в кортеж.
Пример : У вас есть следующий список.
lst = [1, 2, 3]
Вы хотите создать новую структуру данных TUPLE TUPLE, которая содержит те же целочисленные элементы:
(1, 2, 3)
Давайте посмотрим на разные способы преобразования списка в кортеж – и обсудить, что является самым питонным способом, в котором обстоятельство.
Вы можете получить быстрый обзор в следующем интерактивном оболочке кода. Пояснения для каждого метода следуют после этого:
Упражнение : Запустите код. Скидка на каждый метод – кто-нибудь из них путает вас?
Метод 1: Конструктор кортежа
Самый простой, самый простой и самый читаемый способ преобразовать список в кортеж – это встроенный Python кортеж (считать)
функция. Вы можете пройти любые намеки (например, список , еще один кортеж или набор ) в качестве аргумента в этот так называемый Функция конструктора И это возвращает новую структуру данных кортежей, которая содержит все элементы потенциала.
Вот пример:
lst = [1, 2, 3] t = tuple(lst)
Результатом является следующий кортеж:
print(t) # (1, 2, 3)
Это самый питонический способ, если плоское преобразование одного списка в кортеж – это все, что вам нужно. Но что, если вы хотите преобразовать несколько списков в кортеж?
Метод 2: распаковка
Есть альтернатива, которая работает для один или несколько списков Отказ Другими словами, вы можете использовать этот общий метод для преобразования одного или нескольких списков в кортеж. Этот метод одинаково эффективен, и он занимает меньше персонажей, чем Метод 1 (на расходы читабельность для начинающих кодеров). Звучит интересно? Давайте погрузимся в Распаковка и астериск оператор !
Оператор Звездочки *
Также называется «Star Operator», и вы можете использовать его в качестве префикса в любом списке. Оператор будет «распаковывать» все элементы списка во внешнюю структуру – поэтому убедитесь, что вы называете его только в списках аргументов или в приложенном типе контейнера, такого как список или кортеж.
Вот как это работает, чтобы распаковать все элементы списка в прилагаемый кортеж, тем самым преобразуя исходный список на новый кортеж.
t = (*lst,) print(t) # (1, 2, 3)
Вы распаковываете все элементы в lst
во внешнюю структуру (
* lst
,)
Отказ Внешние скобки с запятой указывают на то, что это кортеж, а не в скобках простого выражения. Если вы забудете добавить запятую, Python будет интерпретировать выражение (* lst)
Как это простое отношение приоритета, и он бросил бы ошибку, потому что нет внешней структуры данных контейнера, которые «ловит» распакованный элементы.
Сила этого подхода – несмотря на то, что даже совпадает, чем стандарт кортеж (...)
Функция – что вы можете распаковать несколько значений в него!
Метод 3: Распаковка для преобразования нескольких списков в один кортеж
Давайте посмотрим, как вы создадите кортеж из нескольких списков:
lst_1 = [1, 2, 3] lst_2 = [4, 5, 6] t = (*lst_1, *lst_2) print(t) # (1, 2, 3, 4, 5, 6)
Выражение (* lst_1, * lst_2)
Распаковки все элементы в lst_1
и lst_2
во внешнюю кортежную структуру. Это позволяет конвертировать несколько списков в один кортеж.
Способ 4: выражение генератора для преобразования нескольких списков для кортежа
Если у вас есть несколько списков, хранящихся в списке списков, и вы хотите преобразовать их в один кортеж, вы можете использовать оператор выражения короткого генератора для перехода на все внутренние списки и над всеми элементами каждого списка внутреннего. Затем вы размещаете каждый из этих элементов в структуру кортежей:
lst = [[1, 2], [3, 4], [5, 6, 7]] t = tuple(x for l in lst for x in l) print(t) # (1, 2, 3, 4, 5, 6, 7)
Это самый питонический способ преобразовать список списков в кортеж. Это короткий и эффективный и читаемый. Вы не создаете никакой структуры данных помощника, которая принимает место в памяти.
Но что, если вы хотите сэкономить еще несколько символов?
Способ 5: выражение генератора + распаковка
Хорошо, вы не должны делать этот последний метод, используя оператор Звездочки – это нечитаемое – но я не мог не в том числе, включая его здесь:
lst = [[1, 2], [3, 4], [5, 6, 7]] t = (*(x for l in lst for x in l),) print(t) # (1, 2, 3, 4, 5, 6, 7)
Вместо того, чтобы использовать кортеж (...)
Функция для преобразования выражения генератора в кортеж, вы используете (...,)
Структура помощника, чтобы указать, что это кортеж, который вы хотите – и распаковать все элементы из выражения генератора в кортеж. Конечно, это не очень читаемое – но вы могли видеть такую вещь на практике (если про кодеры хотят показать свои навыки;)).
Статьи по Теме:
- Список Копирование
- Список полное руководство
- Конвертировать список в кортеж
Я надеюсь, тебе понравилась статья!
Не стесняйтесь присоединиться к нашему большому сообществу амбициозных кодеров Python и загрузить бесплатные ресурсы Python (PDF чис).
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.