我用的是Jupyter笔记本,我是Python新手,我试图从多维数组中的用户获取值我是怎么做到的?我写了一些代码,在输入第一个值之后,我得到了我不理解的错误
错误:
Traceback (most recent call last) <ipython-input-64-4d8986a5e412> in <module> 5 for i in range(lengthrow): 6 for j in range(lengthcol): ----> 7 arr[i][j]=int(input("enter value")) 8 print(arr)
IndexError: index 0 is out of bounds for axis 0 with size 0
代码:
from numpy import*
arr = array([[],[]])
lengthrow=int(input("enter array row length"))
lengthcol=int(input("enter array col length"))
for i in range(lengthrow):
for j in range(lengthcol):
arr[i][j]=int(input("enter value"))
print(arr)
您可以在此处使用列表理解,因为最终结果是列表列表:
问题您的代码:
^{pr2}$这意味着您在数组中有一个大小为0的列,因此当您执行
arr[0][0]
操作时,它会抛出错误。在我接受了“奥斯汀伟大的回答”并做了一些小小的改变:
输出为:
^{pr2}$您得到了一个异常,因为您初始化了一个空数组并使用了无效的索引。有了这个答案,您就可以在输入用户输入之后生成数组。在
下面是一行代码(
arr = [[...
)的长版本,它给出了相同的结果:问题在于初始数组的形状:
把这个数组想象成2行0列。不能引用不存在的列。而且,与其他一些语言不同,您不能简单地通过引用新索引来增长数组。一旦创建,大小是固定的。在
虽然其他人已经展示了不错的列表理解方法,但我将展示如何正确使用您的方法:
^{pr2}$相关问题 更多 >
编程相关推荐