Привет, ребята! Столкнулся с задачкой: есть список списков, надо его развернуть в один плоский список. Использую Python. Как это сделать более элегантно и pythonic? У кого какие идеи или проверенные способы?
Привет, ребята! Столкнулся с задачкой: есть список списков, надо его развернуть в один плоский список. Использую Python. Как это сделать более элегантно и pythonic? У кого какие идеи или проверенные способы?
Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat
А ТАКЖЕ: Канал о Python, статьи и книги ==>> @pythoneer_ru
Простой и читаемый способ – использовать list comprehension. Вот как это выглядит:
Этот однострочник берёт каждый подсписок из списка списков и добавляет элементы подсписков в новый список.Программный код:
[item for sublist in list_of_lists for item in sublist]
Согласен, list comprehension - это именно то, за что мы все любим Python. Конструкция и проста, и мощная, в одну строку делает всё что надо!Сообщение от Паша
Программный код:
from itertools import chain
list(chain(*list_of_lists))
Да, itertools - сила! Эта штука с chain удобная, когда списки большие, так-то ваш вариант эффективней будет.Сообщение от MysticEnchanter707
Спасибо за ссылочку, я там состою уже)) действительно полезно!Сообщение от Виолетта