Сглаживание списка

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В Python список может содержать другие списки в качестве элементов. Это называется вложенным списком. Иногда нам может потребоваться преобразовать вложенный список в единый список. В этом испытании вам будет предложено написать функцию, которая уплощает список списков один раз.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/list_comprehensions("List Comprehensions") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") subgraph Lab Skills python/comments -.-> lab-13641{{"Сглаживание списка"}} python/for_loops -.-> lab-13641{{"Сглаживание списка"}} python/list_comprehensions -.-> lab-13641{{"Сглаживание списка"}} python/lists -.-> lab-13641{{"Сглаживание списка"}} python/tuples -.-> lab-13641{{"Сглаживание списка"}} python/function_definition -.-> lab-13641{{"Сглаживание списка"}} end

Сглаживание списка

Напишите функцию на Python под названием flatten(lst), которая принимает список списков в качестве аргумента и возвращает сглаженный список. Функция должна сгладить список только один раз, то есть любые вложенные списки в исходном списке должны быть сглажены, но любые вложенные списки внутри этих вложенных списков должны остаться неизменными.

Для решения этой проблемы вы можете использовать списочное выражение для извлечения каждого значения из вложенных списков последовательно.

def flatten(lst):
  return [x for y in lst for x in y]
flatten([[1, 2, 3, 4], [5, 6, 7, 8]]) ## [1, 2, 3, 4, 5, 6, 7, 8]

Резюме

В этом испытании вы узнали, как написать функцию на Python для сглаживания списка списков один раз. Вы использовали списочное выражение для последовательного извлечения каждого значения из вложенных списков. Это полезный навык при работе с вложенными списками в Python.