Курс Python → Преобразование вложенного списка
Для того чтобы сделать список плоским, то есть преобразовать список, состоящий из вложенных списков, в один плоский список, можно воспользоваться следующим подходом. Начнем с создания функции, которая будет принимать в качестве аргумента вложенный список и возвращать плоский список. Например:
def flatten_list(nested_list):
flat_list = []
for item in nested_list:
if isinstance(item, list):
flat_list.extend(flatten_list(item))
else:
flat_list.append(item)
return flat_list
В данной функции используется рекурсивный подход: мы проходим по каждому элементу вложенного списка, и если элемент является списком, то вызываем функцию flatten_list для этого элемента и расширяем итоговый список. Если элемент не является списком, то просто добавляем его в итоговый список.
Пример использования функции:
nested_list = [1, 2, [3, 4, [5, 6]], 7, [8, [9]]]
flat_list = flatten_list(nested_list)
print(flat_list)
# Output: [1, 2, 3, 4, 5, 6, 7, 8, 9]
В данном примере в переменной nested_list содержится вложенный список, который мы передаем в функцию flatten_list. Результат работы функции сохраняем в переменной flat_list и выводим его на экран. Как видно, вложенный список был успешно преобразован в плоский список.
Другие уроки курса "Python"
- Функция enumerate() — Python
- Встроенные функции Python
- ChainMap.new_child() — добавление нового словаря
- Функции классификации комплексных чисел
- IPython и Jupyter Notebook: руководство
- Операторы += в Python
- Область видимости переменных
- Создание новых функций с помощью functools.partial
- Обработка элементов в Python
- Нахождение пересечения множеств
- Функции в Python
- Логирование в Python
- Проверка надежности пароля на Python
- Декодирование строк в Python
- Открытие, чтение и закрытие файла
- Метод rxor для операции побитового исключающего «или»
- Округление банкира в Python
- Декораторы с @wraps
- Логирование с Logzero
- Метод __iand__ для пользовательских классов
- Работа с Event() в threading
- Работа с Telegram API на Python
- Курс по дообучению ChatGPT
- Получение значений из словарей
- Python defaultdict добавление ключа
- Извлечение новостей с newspaper3k
- Преобразование документов в PDF с помощью Spire.Office
- Обработка ошибки IndexError
- Логирование с Logzero: ротация файла
- Декораторы в Python
- Методы и функции в Python
- Работа с GitHub в Telegram
- Подсчет вхождений элементов
- Замена элементов в списке с помощью генераторов списков
- Ускорение выполнения кода в Python
- Методы сравнения множеств
- Создание уникального множества
- Создание функций высшего порядка
- Оператор объединения словарей
- Автоматизация с Python
- Создание списка дат
- Деление в Python
- Комментарии в Python
- Конкатенация строковых литералов
- Преобразование регистра строк
- Concrete Paths в Python















