Автор оригинала: Chris.
Если вы спешите, вот краткий ответ: используйте заявление об понимании списка [TUPLE (X) для X в списке]
Чтобы преобразовать каждый элемент в ваш Список
к кортежу. Это работает также для списка списков с вариантом различного количества элементов.
Но к этому большему и изучает два основных метода для достижения такой же цели, сделают вас лучшим кодировщиком. Так что продолжай читать:
Способ 1: список пометки + кортеж ()
Проблема Как преобразовать список списков в список кортежей?
Пример : У вас есть список списков [[1, 2], [3, 4], [5, 6]]
И вы хотите преобразовать его в список кортежей [(1, 2), (3, 4), (5, 6)]
.
Решение : Существуют разные решения для преобразования Список списков в список кортежей. Использовать Понимание списка В его наиболее основной форме:
lst = [[1, 2], [3, 4], [5, 6]] tuples = [tuple(x) for x in lst] print(tuples) # [(1, 2), (3, 4), (5, 6)]
Попробуй сам:
Этот подход прост и эффективен. Понимание списка Определяет, как преобразовать каждое значение ( x
в примере) в новый элемент списка. Поскольку каждый элемент списка новый кортеж, вы используете Конструктор кортеж (х) Создать новый кортеж из списка x
.
Если у вас есть три элемента списка на подсудистом, вы можете использовать тот же подход с преобразованием:
lst = [[1, 2, 1], [3, 4, 3], [5, 6, 5]] tuples = [tuple(x) for x in lst] print(tuples) # [(1, 2, 1), (3, 4, 3), (5, 6, 5)]
Вы можете увидеть текущий поток выполнения в следующей интерактивной визуализации (просто нажмите кнопку «Далее», чтобы увидеть, что происходит в коде):
И если у вас есть различное количество элементов списка на подсудистом, этот подход все еще работает красиво:
lst = [[1], [2, 3, 4], [5, 6, 7, 8]] tuples = [tuple(x) for x in lst] print(tuples) # [(1,), (2, 3, 4), (5, 6, 7, 8)]
Вы видите, что подход с пониманием списка является лучшим способом преобразования списка списков в список кортежей. Но есть ли альтернативы?
Метод 2: Функция карты + кортеж ()
Альтернатива – использовать Функция карты Это применяет указанную функцию на каждом элементе итеративного. Гвидо Ван Россом, создатель Python, не понравился карта ()
Функция как это менее читаемое (и менее эффективно), чем версия понимания списка (метод 1 в этом уроке). Вы можете прочитать подробное обсуждение того, как именно он утверждал в своем статье в блоге.
Итак, без дальнейшего ADO, вот как вы можете преобразовать список списков в списке TVES, используя карта ()
Функция:
lst = [[1], [2, 3, 4], [5, 6, 7, 8]] tuples = list(map(tuple, lst)) print(tuples) # [(1,), (2, 3, 4), (5, 6, 7, 8)]
Попробуй сам:
Первый аргумент карта ()
Функция – это кортеж
Имя функции. Это кортеж ()
Функция преобразует каждый элемент на заданный потенциал лишенство
(второй аргумент) в кортеж. Результат карта ()
Функция – это намерение, поэтому вам нужно преобразовать его в список перед тем, как печатать его в оболочку, потому что изображение строки по умолчанию является нечитаемым человеком.
Статьи по Теме
- Список списков
- Как преобразовать список кортежей в список списков
- Как преобразовать список списков в Pandas DataFrame
- Как преобразовать список списков в Numpy Array
- Как преобразовать список списков в словаре в Python
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/how-to-convert-list-of-lists-to-list-of-tuples-in-python/”