Module (91%)
Section (29%)

Списки в списках: двумерные массивы

Предположим также, что предопределенный символ с именем EMPTY обозначает пустое поле на шахматной доске.

Итак, если мы хотим создать список списков, представляющих всю шахматную доску, это можно сделать следующим образом:

board = [] for i in range(8): row = [EMPTY for i in range(8)] board.append(row)

Примечание:

  • внутренняя часть цикла создает строку, состоящую из восьми элементов (каждый из которых равен EMPTY), и добавляет ее в список board;
  • внешняя часть повторяет это восемь раз;
  • Всего список board состоит из 64 элементов (все равны EMPTY)

Эта модель идеально имитирует настоящую шахматную доску, которая на самом деле представляет собой список из восьми элементов, состоящих из отдельных строк. Подведем итог нашим наблюдениям:

  • элементы строк - клетки, по восемь в каждой строке;
  • элементы шахматной доски - это строки, по восемь на каждой доске.

Переменная board теперь представляет собой двумерный массив. По аналогии с алгебраическими терминами ее также называют матрицей.


Поскольку списки могут быть вложенными, мы можем сократить создание доски следующим образом:

board = [[EMPTY for i in range(8)] for j in range(8)]

Внутренняя часть создает строку, а внешняя часть создает список строк.


Code

{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×