Рубрики
Без рубрики

Конвертировать список в кортеж | Самый питон путь

Ответ: Самый простой, самый простой и самый читаемый способ преобразования списка в кортеж – это встроенный кортеж Python Fund (списка). Вы можете пройти любой намек (например, список, еще один кортеж или набор) в качестве аргумента в эту так называемую функцию конструктора, и она возвращает новую структуру данных кортежей, которая содержит все элементы … Конвертировать список в кортелю | Самый питонический путь Подробнее »

Автор оригинала: Chris.

Ответ : Самый простой, самый простой и самый читаемый способ преобразования списка в кортеж – встроенный 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.