g
Size: a a a
А
E
А
W
А
А
K
g
А
БГ
К
arr
(создание на №1 и №2 соответственно) обрабатываются по-разному вторым циклом. Подскажите, в чём разница?def create_table(m: int, n: int) -> list:
# 1
# arr = []
#
# for _ in range(1, m + 1):
# block = []
# for _ in range(1, n + 1):
# block.append(1)
# arr.append(block)
# 2
# arr = [[1] * n] * m
for i in range(len(arr)):
for j in range(len(arr[i])):
if i == 0 or j == 0:
continue
else:
arr[i][j] = arr[i - 1][j] + arr[i][j - 1]
return arr
БГ
arr
(создание на №1 и №2 соответственно) обрабатываются по-разному вторым циклом. Подскажите, в чём разница?def create_table(m: int, n: int) -> list:
# 1
# arr = []
#
# for _ in range(1, m + 1):
# block = []
# for _ in range(1, n + 1):
# block.append(1)
# arr.append(block)
# 2
# arr = [[1] * n] * m
for i in range(len(arr)):
for j in range(len(arr[i])):
if i == 0 or j == 0:
continue
else:
arr[i][j] = arr[i - 1][j] + arr[i][j - 1]
return arr
БГ
py3
a = [[0]*3]*3
print(a)
a[0][0] = 1
print(a)
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
E
py3
a = [[0]*3]*3
print(a)
a[0][0] = 1
print(a)
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
П
БГ