Python 创建不带numpy的数组

Python 创建不带numpy的数组,python,Python,在我的家庭作业中,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

在我的家庭作业中,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(范围(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)

您可以改为使用嵌套列表。构造它们的一种方便方法是使用(嵌套的)列表理解,例如

n行,n列=7,7
伪数组=[[行*n列+范围内列的列(n列)]
对于范围内的行(n_行)]
伪随机阵列
Edit:注意NumPy数组也有逗号,只是它们也有自己的表示方法,所以
print()
不会显示逗号。如果您想对嵌套列表执行类似的操作,可以定义自己的打印功能,例如

def打印阵列(a):
“”“获取嵌套列表a并将其像NumPy数组一样打印。”“”
对于i,枚举(a)中的行:
如果i==0:
第一个字符='['
其他:
第一个字符=“”
如果i==len(a)-1:
最后一个字符=']'
其他:
最后字符=“”
打印(第一个字符+'['+
''.join(str(i)表示行中的i)+']'+最后一个字符)
打印数组(伪数组)

如您所见,它看起来几乎像一个打印的NumPy数组,只是漂亮的列对齐尚未实现。

您可以使用嵌套列表。构造它们的一种方便方法是使用(嵌套的)列表理解,例如

n行,n列=7,7
伪数组=[[行*n列+范围内列的列(n列)]
对于范围内的行(n_行)]
伪随机阵列
Edit:注意NumPy数组也有逗号,只是它们也有自己的表示方法,所以
print()
不会显示逗号。如果您想对嵌套列表执行类似的操作,可以定义自己的打印功能,例如

def打印阵列(a):
“”“获取嵌套列表a并将其像NumPy数组一样打印。”“”
对于i,枚举(a)中的行:
如果i==0:
第一个字符='['
其他:
第一个字符=“”
如果i==len(a)-1:
最后一个字符=']'
其他:
最后字符=“”
打印(第一个字符+'['+
''.join(str(i)表示行中的i)+']'+最后一个字符)
打印数组(伪数组)

如您所见,它看起来几乎像一个打印的NumPy数组,只是漂亮的列对齐尚未实现。

如果我理解正确,您需要的是一个数组
[[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,34],[35,36,37,38,40,41],[42,43,44,45,46,47,48]
?哦,不,我现在得到了那个数组,我想得到:(这是我帖子上的第一个文本块,一个正方形数组)[[01 2 3 4 5 6][7 8 9 10 11 12 13][14 15 16 17 19 20][21 22 23 24 25 26 27][28 29 30 32 33][35 36 38 39 40 41][42 43 44 45 46 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]]
?哦,不,我现在得到了那个数组,我想得到:(这是我帖子上的第一块文本,一个正方形数组)[[0123456][78910112113][141617181920][212224256227][282930323334][35363738394014][4243444648]]你真的需要数组吗(本机类型的连续内存区域)或者只是一个数字序列?它接近于我想要得到的,但我必须在没有任何昏迷的情况下得到它,就像我在文章中的第一块代码。我已经根据该规范编写了我的其余代码,但是在最后一分钟,由于模块usageit的限制,我不得不编辑它。它接近于我想要得到的但是我必须在没有任何昏迷的情况下获得它,就像我在文章中的第一段代码一样。我已经根据该规范编写了我的其余代码,但是由于模块使用的限制,在最后一分钟我不得不编辑它
[[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]]