【发布时间】:2021-05-29 22:12:46
【问题描述】:
在我的作业中,不允许使用 numpy,但我现在才意识到这一点。我必须删除所有 np.array() 组件并在不使用它们的情况下定义一个数组。我找不到办法。例如,我必须像这样得到 arr:
[[ 0 1 2 3 4 5 6]
[ 7 8 9 10 11 12 13]
[14 15 16 17 18 19 20]
[21 22 23 24 25 26 27]
[28 29 30 31 32 33 34]
[35 36 37 38 39 40 41]
[42 43 44 45 46 47 48]]
但是,当我删除这部分时: arr = np.array(range(0,N*N))
arr.shape = N,N
并尝试使用其他东西,如果不使用 numpy.我真的被困在这里了。
import numpy as np
def rotate_clockwise(x):
return x[::-1].T
def find(element, matrix):
for i in range(len(matrix)):
for j in range(len(matrix[i])):
if matrix[i][j] == element:
return (i+1, j+1)
N = int(input())
S = int(input())
arr = np.array(range(0,N*N))
arr.shape = N,N
for i in range(S):
a,b,c = [int(x) for x in input().split()]
arr[a - 1:a + c, b - 1:b + c] = rotate_clockwise(arr[a - 1:a + c, b - 1:b + c])
M = int(input())
items = np.array(range(0,M))
for i in range(M):
danscisayisi=int(input())
items[i]=(danscisayisi)
for i in range(0, len(items)):
items[i] = int(items[i])
noktalar = np.array(range(0,M))
for i in range(M):
coord=(find(items[i],arr))
result = " ".join(str(x) for x in coord)
print(result)
【问题讨论】:
-
如果我理解正确,你想要的是一个数组
[[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13], [14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27], [28, 29, 30, 31, 32, 33, 34], [35, 36, 37, 38, 39, 40, 41], [42, 43, 44, 45, 46, 47, 48]]? -
哦,不,我目前得到了那个数组,我想得到:(它是我帖子上的第一个文本块,一个方形数组)[[ 0 1 2 3 4 5 6] [ 7 8 9 10 11 12 13] [14 15 16 17 18 19 20] [21 22 23 24 25 26 27] [28 29 30 31 32 33 34] [35 36 37 38 39 40 41] [42 43 44 45 46 47 48 ]]
-
您真的需要一个数组(原生类型的连续内存区域)还是只需要一个数字序列?
标签: python