python中用户输入的多维数组

2024-01-08

我使用 Jupyter 笔记本,我是 Python 新手,我尝试从多维数组中的用户获取值,我该怎么做?我写了一些代码,在输入第一个值后出现我不明白的错误

Error:

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:索引 0 超出尺寸为 0 的轴 0 的范围

code:

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)

我接受了@Austin 很好的答案并做了一些小改动:

import numpy as np

n_rows = int(input("Enter number of rows: "))
n_cols = int(input("Enter number of columns: "))

arr = [[int(input("Enter value for {}. row and {}. column: ".format(r + 1, c + 1))) for c in range(n_cols)] for r in range(n_rows)]

print(np.array(arr))

输出是:

Enter number of rows: 2
Enter number of columns: 3
Enter value for 1. row and 1. column: 1
Enter value for 1. row and 2. column: 2
Enter value for 1. row and 3. column: 3
Enter value for 2. row and 1. column: 4
Enter value for 2. row and 2. column: 5
Enter value for 2. row and 3. column: 6
[[1 2 3]
 [4 5 6]]

您遇到了异常,因为您初始化了一个空数组并使用了无效索引。通过这个答案,您可以在输入用户输入后生成数组。


这是单行的长版本(arr = [[...)这会给你相同的结果:

outer_arr = []
for r in range(n_rows):
    inner_arr = []
    for c in range(n_cols):
        num = int(input("Enter value for {}. row and {}. column: ".format(r + 1, c + 1)))
        inner_arr.append(num)
    outer_arr.append(inner_arr)

print(np.array(outer_arr))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中用户输入的多维数组 的相关文章

随机推荐