1.思考一个任意的数组,编写一个函数,该函数提取一个具有固定形状的子部分,并以一个给定的元素为中心(在该部分填充值)
# import numpy as np # def tiqu(num): # a = np.random.randint(0,50,(10,10)) # print(a) # for i in range(10): # for j in range(10): # if a[i,j] == num: # b = a[i - 1:i + 2, j - 1:j + 2] # print(b) # tiqu(5)
2.考虑一个数组Z = [1,2,3,4,5,6,7,8,9,10,11,12,13,14],如何生成一个数组R = [[1,2,3,4], [2,3,4,5], [3,4,5,6], ...,[11,12,13,14]]?
# c = [] # a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] # for i in range(0, 11): # b = a[i:i+4] # c.append(b) # print(c)
3.从一个10x10的矩阵中提取出连续的3x3区块
# import numpy as np # demo_arr = np.empty((10, 10)) # for i in range(10): # demo_arr[i] = np.arange(i, i + 10) # print(demo_arr[:10, :10]) # for j in range(1, 9): # for