Автор оригинала: Robin Andrews.
2-мерные списки являются чрезвычайно важной структурой данных в программировании Python, со многими приложениями. Они могут быть очень запутаны, и вы должны убедиться, что вы уверены в себе и компетентные с 1-мерными массивами, прежде чем узнать о них.
Приложения 2D списков – Python
- Представление решеток E.g. пиксели
- Игровые доски
- Матрицы для математических приложений
- Представление табличных данных, как в электронной таблице
- Хранение и доступ к данным из научных экспериментов
- Доступ к элементам DOM для разработки веб-разработки
- Понимание Pandas DataFrames.
- Прокладки способа для более высокого размера
Если вы заинтересованы в глубоком погружении в списки Python 2D, у меня есть курс по обучению LinkedIn под названием Обучение списков Python 2D: игровой проект который вы можете проверить.
Обратите внимание, что это аффилированная связь, означающая, что я получу комиссию, если вы совершите покупку после нажатия.
Понимание 2D списков в Python
Для того, чтобы не потеряться при использовании 2D массивы в Python , вам нужно исправить вашу ориентацию, как при чтении карты. Вам всегда следует прояснить, относится ли конкретный индекс, относящийся к ряд или столбцу.
Вы можете подумать о двухместном списке в виде списка списков. При упорядочении в сетку каждый ряд представляет собой один список.
Посмотрите на это изображение:
Это дает вам координаты предметов в сетке с точки зрения Номер ряд сопровождаемый Номер столбца Отказ Важно отметить, что порядок их с точки зрения вертикальный и Горизонтальный отличается от того, что вы привыкли от X, Y координаты в Математика Эти 2D-списки существуют в математике, и называются матрицами, но это не тема, которую вы, скорее всего, чтобы прикрыть, если вы не изучите уровень математики.
Код Python для 2D-списка
Код, который производит сетку на рисунке ниже.
grid = []
for row in range(5):
new_row = []
for col in range(5):
new_row.append((row, col))
grid.append(new_row)
for row in grid:
print(row)
Изучите этот код хорошо, и убедитесь, что вы полностью понимаете его. Это использует вложен для петлей , что вам также нужно будет знать.
В целом темы Python программирование и компьютерные науки очень часто опираются друг на друга. Пытаясь понять тему, когда ваше понимание необходимых поддерживающих тем слабых, обычно является плохой идеей.
Так обратите внимание, для понимания о 2D списки в Python Вам нужно быть комфортно с
- Простые 1-мерные списки
- Доступ к элементам 1D-списка с использованием индекса. Например.
my_list [3] - Вложенные
дляпетли - Этот пример использует
кортежихранить «координаты», но это не всегда требование
Доступ к элементам в 2D-списке в Python
Чтобы получить доступ к элементу из сетки в коде выше, вам нужен двойной индекс, который выглядит так:
Печать (сетка [3] [1])
Обратите внимание, что Печать (сетка [3,1]) приведет к Типеррор Несмотря на то, что может показаться смысл.
Вот еще один пример, который поможет вам ознакомиться с двумя списками в Python:
matrix = []
for row in range(1, 5):
new_row = []
for col in range(1,5):
new_row.append(row * col)
matrix.append(new_row)
for row in matrix:
for el in row:
print(el, end ="\t") # \t means "tab"
print()
Как вы думаете, что вывод будет для этого кода?
1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16
Единственный способ добраться до 2D списки в Python это делая много практики. Посмотрите, можете ли вы думать о примере, где они нуждаются в них, а затем идите вперед и напишите какой-нибудь код. Многие игры имеют 2D PORD, например, или таблицы данных. Чем больше времени вы тратите программирование в Python, тем чаще вы столкнетесь с ситуациями, когда ваше знание 2D-списка придет очень удобно.
Стоит отметить, что интерпретация 2D-списка в форме строки/столбца предназначена только для удобства человека. Внутренне данные не хранятся так. Так, например, вы можете получить доступ к [[2,0], [3,5], [7,9], [5,4]] через [I] [J] где Я это 0 к 3 и J это 0 к 1 не думая с точки зрения стола. Однако, если вы собираетесь концептуализировать 2D-список в таблице, существует широко используемая конвенция Первый индекс, представляющий ряд и Второй индекс, представляющий Колонка Отказ Я настоятельно советую студентам придерживаться этой конвенции, хотя вначале она может показаться незнакомой. Это будет способствовать рассуждениями о ваших данных проще позже в ваших исследованиях.
Счастливые вычисления!