Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Python中的同一程序中使用追加和重塑函数_Python_Arrays_Numpy_Append_Reshape - Fatal编程技术网

无法在Python中的同一程序中使用追加和重塑函数

无法在Python中的同一程序中使用追加和重塑函数,python,arrays,numpy,append,reshape,Python,Arrays,Numpy,Append,Reshape,我正在编写一个代码,它将从用户那里获取输入并将其转换为矩阵。我在我的代码中使用了append()和restrape()函数,为了使用它们,我导入了numpy和array库,但在这样做时,我得到了以下错误: 回溯(最近一次调用):文件“”,第1行,在 文件“C:\Program Files\JetBrains\PyCharm 2020.2\plugins\python\helpers\pydev_pydev_bundle\pydev_umd.py”,第197行,在runfile中 pydev_im

我正在编写一个代码,它将从用户那里获取输入并将其转换为矩阵。我在我的代码中使用了
append()
restrape()
函数,为了使用它们,我导入了
numpy
array
库,但在这样做时,我得到了以下错误:

回溯(最近一次调用):文件“”,第1行,在 文件“C:\Program Files\JetBrains\PyCharm 2020.2\plugins\python\helpers\pydev_pydev_bundle\pydev_umd.py”,第197行,在runfile中 pydev_imports.exefile(文件名、全局变量、本地变量)#执行脚本文件“C:\Program Files\JetBrains\PyCharm” 2020.2\plugins\python\helpers\pydev_pydev_imps_pydev_execfile.py”,execfile中的第18行 exec(编译(contents+“\n”,file,'exec'),glob,loc)文件“C:/Users/pc/PycharmProjects/pythonProject/matrix multliplication”, 第30行,在 new_arr=arr.reformate(i,j)AttributeError:'array.array'对象没有属性'reformate'

我的代码:

from numpy import *
from array import *
print("Enter the details of 1st Matrix")
i = int(input("Enter the number of Rows"))
j = int(input("Enter the number of Columns"))
print("NOTE:Number of columns of 1st matrix should be equal to Number  of rows of 2nd matrix")
print("Enter the details of 2st Matrix")
m = int(input("Enter the number of Rows"))
n = int(input("Enter the number of Columns"))

if j == m:
    arr = array('i', [])
    arr1 = array('i', [])

    p = i * j
    q = m * n

    print("Enter the values for 1st matrix")

    for d in range(p):
        x = int(input("Enter the value"))
        arr.append(x)

    print("Enter the values for 2st matrix")

    for e in range(q):
        y = int(input("Enter the value"))
        arr1.append(y)

    new_arr = arr.reshape(i,j)
    new_arr1 = arr1.reshape(m,n)

    print(arr)
    print(arr1)
else:
    print("Invalid Input")

我缺少什么?

重塑是numpy提供的一个功能,可以在numpy阵列上使用。要使用
重塑
,您需要将
arr
变量转换为numpy数组。

重塑
是numpy提供的一项功能,可用于numpy数组。要使用
重塑
,您需要将
arr
变量转换为numpy数组。

您可以创建一个
数组。数组
(它也可以是一个列表,
[]

arr
仍然是一个
数组。数组
。阅读
数组
文档。您是否看到任何
重塑
方法?如果没有,请不要执行以下操作:

new_arr = arr.reshape(i,j)
数组。数组
不是多维的。它只是一个简单列表的高效内存版本。在这样的迭代会话中,与内置的
list
类相比,它没有提供任何好处

以下是输入值的简单交互方式:

In [143]: alist = []
In [144]: for _ in range(4):
     ...:     alist.append(int(input()))     # list append
     ...: 
1
3
5
2
In [145]: alist
Out[145]: [1, 3, 5, 2]
In [146]: arr = np.array(alist)       # make a numpy.ndarray
In [147]: arr
Out[147]: array([1, 3, 5, 2])
In [148]: arr = arr.reshape(2,2)      # this has a reshape method
In [149]: arr
Out[149]: 
array([[1, 3],
       [5, 2]])
或在一行中获取所有值:

In [150]: alist = input().split()
1 3 5 2
In [151]: alist
Out[151]: ['1', '3', '5', '2']
In [152]: arr = np.array(alist, dtype=int).reshape(2,2)
In [153]: arr
Out[153]: 
array([[1, 3],
       [5, 2]])
我用的纸条

import numpy as np
这是标准做法。它允许我们清楚地识别numpy函数,例如使用
np.array

你使用

from numpy import *
from array import *

可能会造成混乱。
array()
是调用
numpy
函数还是调用
array
函数<代码>*
允许导入,但通常不鼓励导入。

您创建一个
数组。数组
(它也可以是一个列表,
[]

arr
仍然是一个
数组。数组
。阅读
数组
文档。您是否看到任何
重塑
方法?如果没有,请不要执行以下操作:

new_arr = arr.reshape(i,j)
数组。数组
不是多维的。它只是一个简单列表的高效内存版本。在这样的迭代会话中,与内置的
list
类相比,它没有提供任何好处

以下是输入值的简单交互方式:

In [143]: alist = []
In [144]: for _ in range(4):
     ...:     alist.append(int(input()))     # list append
     ...: 
1
3
5
2
In [145]: alist
Out[145]: [1, 3, 5, 2]
In [146]: arr = np.array(alist)       # make a numpy.ndarray
In [147]: arr
Out[147]: array([1, 3, 5, 2])
In [148]: arr = arr.reshape(2,2)      # this has a reshape method
In [149]: arr
Out[149]: 
array([[1, 3],
       [5, 2]])
或在一行中获取所有值:

In [150]: alist = input().split()
1 3 5 2
In [151]: alist
Out[151]: ['1', '3', '5', '2']
In [152]: arr = np.array(alist, dtype=int).reshape(2,2)
In [153]: arr
Out[153]: 
array([[1, 3],
       [5, 2]])
我用的纸条

import numpy as np
这是标准做法。它允许我们清楚地识别numpy函数,例如使用
np.array

你使用

from numpy import *
from array import *


可能会造成混乱。
array()
是调用
numpy
函数还是调用
array
函数<代码>*
允许导入,但通常不鼓励导入。

先生,我们如何将数组转换为numpy数组?能否请您在上述代码的上下文中解释或给出示例。您需要这两种代码的具体原因是什么?转换很简单:
np.array(arr)
将进行转换。我使用array是因为我想向我在开始时声明的空数组中添加值,而使用numpy我无法追加值,因此我使用array。不建议使用
np.append
!先生,我们怎样才能把数组转换成numpy数组?请您解释一下,或者在上面的代码中给出一个例子。您需要这两个数组的具体原因是什么?转换很简单:
np.array(arr)
将进行转换。我使用array是因为我想向我在开始时声明的空数组中添加值,而使用numpy我无法追加值,因此我使用array。不建议使用
np.append
!不要将
numpy
array
包一起使用。使用一个或另一个。但是我需要两个,所以你能建议任何方法都使用吗?Python
list
有一个
append
方法。使用它,然后忘记
数组
模块。在Python中,每个对象类都有自己定义的
方法集。列表有一个
.append
,而
ndarray
有一个
.reforme
。字符串,
dict
也有单独的方法。在代码中的每一点上,您都应该知道变量是什么(它的
类型
),并且只使用适当的
方法
。将文档放在手边。我使用的是append模块,只有您可以在上面的代码中看到。但我仍然遇到了错误,请不要将
numpy
数组
包一起使用。使用一个或另一个。但是我需要两个,所以你能建议任何方法都使用吗?Python
list
有一个
append
方法。使用它,然后忘记
数组
模块。在Python中,每个对象类都有自己定义的
方法集。列表有一个
.append
,而
ndarray
有一个
.reforme
。字符串,
dict
也有单独的方法。在代码中的每一点上,您都应该知道变量是什么(它的
类型
),并且只使用适当的
方法
。把文档放在手边。我使用的是append模块,只有你能在上面的代码中看到。但我还是得到了错误