使用List创建二维数组
arr = [[1,4,7,10,15], [2,5,8,12,19], [3,6,9,16,22], [10,13,14,17,24]]
print(arr)
print ("行数:", len(arr))
print("列数:", len(arr[0]))
访问每一个元素
for i in range(len(arr)):
for j in range(len(arr[i])):
print(arr[i][j], end=" ")
print("")
print(arr[2][3])
print(arr[3][1])
output: 16, 13
A1. 习题
在一个5行10列的矩阵中,list[x][y] 可为 0 or 1, 那么可计算连续 '1'的个数,那么所有行内最长值1的个数。
提示1: 随机创建
rows =5
cols = 10
arr = [ [0]*10 ]*10
for i in range(len(arr)):
for j in range(len(arr[i])):
if (random.random()>=0.5):
arr[i][j]=1
else:
arr[i][j]=0
print(arr)
print("")
提示2: 计算最大长度和左移加右移动
# 左移,右移动
DIRE = [(0, -1), (0, 1)]
def check_chess(board, i, j):
if (board[i][j]==0):
return []
chess =[]
for dire in DIRE:
x, y = i, j
chess.append([x,y])
while board[x][y] == 1:
if (x != i or y !=j):
chess.append([x,y])
x, y = x+dire[0], y+dire[1]
if x < 0 or y < 0 or x >= rows or y >= cols :
break
return chess