Файл: Руководство по вложенным спискам в Python Подробнее.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.02.2024

Просмотров: 6

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Есть элемент путаницы в отношении термина «списки списков» в Python. Я написал этот наиболее полное руководство по списку списков в мире, чтобы удалить все эти смущения новичками на языке программирования Python. Этот мультимодальный учебник состоит из: исходного кода для копирования и вставки в свой собственный проект. Инвертирующий код, который вы можете выполнить … Python Список списков – полезное иллюстрированное руководство по вложенным спискам в Python Подробнее »

Какой список списков?

Определение : Список списков в Python является объектом списка, где каждый элемент списка является списком сама по себе. Создайте список списка в Python с помощью квадратной нотации кронштейна для создания вложенного списка [[1, 2, 3], [4, 5, 6], [7, 8, 9]] Отказ

Вы хотите развивать навыки Хорошо округлый Python Professional То же оплачивается в процессе? Станьте питоном фрилансером и закажите свою книгу Оставляя крысиную гонку с Python На Amazon ( Kindle/Print )!

Анализ памяти

Важно, чтобы вы понимаете, что список – это только серия ссылок на места памяти. Играя с визуализазом кода, вы получите более глубокое понимание того, как работает Python в своем ядре:

Просто нажмите кнопку «Далее», чтобы увидеть, как разворачивается каждая строка кода.

Создать список списков в Python

Создайте список списков с помощью квадратной обозначения кронштейна. Например, чтобы создать список списков целочисленных значений, используйте [[1, 2], [3, 4]] Отказ Каждый элемент списка внешнего списка является самим вложенным списком.

Конвертировать список списков в один список

Скажи, вы хотите преобразовать список списков [[1, 2], [3, 4]] в один список 
[1, 2, 3, 4] Отказ Как это добиться? Есть разные варианты:

Понимание списка [X для L в LST для x в l] Предполагая, что у вас есть список списков lst Отказ

Распаковывать [* lst [0], * lst [1]] Предполагая, что у вас есть список двух списков lst Отказ

Используя продлить () Способ списков Python для расширения всех списков в списке списков.

Найти примеры всех трех методов в следующем фрагменте кода:

lst = [[1, 2], [3, 4]]
# Method 1: List Comprehension

flat_1 = [x for l in lst for x in l]
# Method 2: Unpacking

flat_2 = [*lst[0], *lst[1]]
# Method 3: Extend Method

flat_3 = []

for l in lst:

flat_3.extend(l)

## Check results:

print(flat_1)

# [1, 2, 3, 4]
print(flat_2)

# [1, 2, 3, 4]
print(flat_3)

# [1, 2, 3, 4]

Устранение его простоты и эффективности, первый метод понимания списка превосходит два других метода.

Конвертировать список списков в словаре

Для некоторых приложений вполне полезно преобразовать список списков в словаре.

Базы данных : Список списка – это таблица, где внутренние списки – это строки базы данных, и вы хотите назначить каждую строку в основной ключ в новом словаре.

Электронная таблица : Список списка – это двумерные данные электронных таблиц, и вы хотите назначить каждую строку ключевое имя).

Аналитика данных : У вас есть двумерная матрица (= Numpy Marray ), которые изначально представлены в виде списка списка, и вы хотите получить Словарь Чтобы облегчить доступ к данным.

Существует три основных способа преобразования списка списков в словаре в Python ( Источник ):

Словарь понимание

Выражение генератора

Для петли

Давайте погрузимся в каждый из них.

1. Словарь понимание

Проблема : Скажи, у тебя есть Список списков Где каждый список представляет человека и состоит из трех значений для имени человека, возраста и цвета волос. Для удобства вы хотите создать словарь, в котором вы используете имя человека в качестве словаря, и подсудист, состоящий из возраста и цвета волос в качестве словарного значения.



Решение : Вы можете добиться этого, используя красивую (но, удивительно, немного известную) особенность Словарь понимание в питоне.

persons = [['Alice', 25, 'blonde'],

['Bob', 33, 'black'],

['Ann', 18, 'purple']]
persons_dict = {x[0]: x[1:] for x in persons}

print(persons_dict)

# {'Alice': [25, 'blonde'],

# 'Bob': [33, 'black'],

# 'Ann': [18, 'purple']}

Объяснение : Заявление о понимании словаря состоит из выражения x [0]: x [1:] который назначает имя человека х [0] в список х [1:] цвет человека и цвета волос. Кроме того, он состоит из контекста для х в людях что итерации по всем «рядам данных».