Рубрики
Без рубрики

2-мерные списки в Python

Узнайте о структуре данных 2D списка в программировании Python. 2D списки имеют много важных приложений для разработчиков и компьютерных ученых.

Автор оригинала: 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-список в таблице, существует широко используемая конвенция Первый индекс, представляющий ряд и Второй индекс, представляющий Колонка Отказ Я настоятельно советую студентам придерживаться этой конвенции, хотя вначале она может показаться незнакомой. Это будет способствовать рассуждениями о ваших данных проще позже в ваших исследованиях.

Счастливые вычисления!