Списки в Python могут содержать разные типы элементов. Они могут содержать целые числа, строки, числа с плавающей точкой и т.д. Они также могут содержать другие списки:
l = [4, 5, 'hi', 3.14, ['how', 'are', 'you', '?'], 64]
print(l[2]) # hi
print(l[2][0]) # h
print(l[-1]) # 64
print(l[4]) # ['how', 'are', 'you', '?']
inner = l[4]
print(inner[1]) # are
print(l[4][1]) # are
Это пример списка в Python, который содержит другой список внутри. Операции с вложенным списком точно такие же, как и с внешним. Можно добавлять элементы с помощью append, или удалять их с помощью pop и т.д. Таким образом, индексирование будет работать так, как если бы мы обращались к вложенному списку внутри списка.
Аналогично тому, как если у нас есть список строк, где мы можем получить доступ к каждому элементу с помощью [индекс]:
greetings = [
'hi',
'hello',
'hey there',
'hey!'
]
print(greetings[0])
# hi
print(greetings[2])
# hey there
Мы можем даже хранить матрицу чисел таким образом:
Таким образом, мы получаем доступ к каждой строке отдельно. После этого мы можем получить доступ к каждому элементу строки точно так же, как и к элементу списка:
print(multiplication_table[2]) # [3, 6, 9, 12, 15, 18, 21, 24, 27]
l = multiplication_table[2] # l теперь [3, 6, 9, 12, 15, 18, 21, 24, 27]
print(l[0]) # 3
print(l[1]) # 6
print(l[-1]) # 27
# Или получить доступ к элементам напрямую
print(multiplication_table[2][0]) # 3
print(multiplication_table[2][1]) # 6
print(multiplication_table[2][-1]) # 27
Первый индекс указывает «строку», которую мы выбираем из матрицы, а второй индекс указывает «столбец». Таким образом, синтаксис доступа к элементу из двумерного списка следующий: two_d[строка][столбец].
Задача
Дано целое число n, создайте двумерный квадратный список размера . Вам нужно разделить квадрат на 3 части: выше его диагонали, на диагонали и ниже диагонали.
Поля выше диагонали должны быть заполнены 0, поля на диагонали должны быть заполнены 1, а поля ниже диагонали должны быть заполнены 2.
Входные данные программы содержат одно целое число n — размер квадрата.
Выходные данные программы должны содержать заполненный квадрат.