Двумерные списки в Python

Слайд 2

[2, 'abcde', 3.14] – список может состоять из элементов разного типа

[2, 'abcde', 3.14] – список может состоять из элементов разного типа
В

том числе, и из других списков:
s = [1, 2, 3]
t = [4, 5]
a = [s, t]
print(a)
[[1, 2, 3], [4, 5]]

Элементы списка

Слайд 3

b = [[1, 2, 3, 4], [5, 6, 7, 8], [9,

b = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9,

0, 1, 2]]
Таблицу можно представить как список списков.
Будем называть его “двумерным” списком.

Список списков

Слайд 4

b = [[1, 2, 3, 4], [5, 6, 7, 8], [9,

b = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9,

0, 1, 2]]
print(b[1][2])
7
print(len(b))
3
print(len(b[1]))
4
print(b[1])
[5,6,7,8]

Доступ к элементам

Слайд 5

s = [0, 0, 0] a1 = s + s #

s = [0, 0, 0]
a1 = s + s # [0,

0, 0, 0, 0, 0]
a2 = s * 2 # [0, 0, 0, 0, 0, 0]
a3 = [s] + [s] # [[0, 0, 0], [0, 0, 0]]
a4 = [s] * 2 # [[0, 0, 0], [0, 0, 0]]
a4[0][0] = 1 # [[1, 0, 0], [1, 0, 0]]
Все эти способы – НЕПРАВИЛЬНЫЕ!

Создание списков

Слайд 6

Вариант 1. s = [[]] * n for i in range(n):

Вариант 1.
s = [[]] * n
for i in range(n):
s[i] =

[0] * m
Вариант 2.
s = []
for i in range(n):
s.append([0] * m)

Правильное создание списков

Слайд 7

Вариант 3. s = [[0] * m for i in range(n)]

Вариант 3.
s = [[0] * m for i in range(n)]
Самый короткий

вариант – пользуйтесь им!

Правильное создание списков

Слайд 8

s = [[]]*3 for i in range(3): s[i] = list(map(int,input().split())) Чтение таблицы чисел

s = [[]]*3
for i in range(3):
s[i] = list(map(int,input().split()))

Чтение таблицы чисел

Слайд 9

for i in range(3): print(" ".join(map(str,s[i]))) Печать таблицы чисел

for i in range(3):
print(" ".join(map(str,s[i])))

Печать таблицы чисел

Слайд 10

Работа с одним элементом: print(a[2][1]) a[0][0] = 5 Работа со строкой:

Работа с одним элементом:
print(a[2][1])
a[0][0] = 5
Работа со строкой:
s[1] = [1,

2]
s[0], s[1] = s[1], s[0]

Работа с элементами