Python 数组像列表一样打印,但它在变量资源管理器中是一个整数?为什么?

Python 数组像列表一样打印,但它在变量资源管理器中是一个整数?为什么?,python,arrays,integer,Python,Arrays,Integer,当ı打印出来时,下面的代码Q被打印出来,假设它是下一个数字的(3 5 7 9)和。但是在变量管理器中,它是一个整数,ı想要得到像数组一样的结果Q Q=[3,5,7,9] 这也不起作用目前,您每次只需声明Q,它从未添加到某些值集合中 相反,从一个空列表开始(或者可能是一个numpy数组),然后在循环之外和在每个循环周期向其追加值 Q是一个numpy数组,但它不是您所期望的 它没有维度,只引用单个值 >类型(Q) >>>打印(报告(Q)) 阵列(9) >>将numpy作为np导入 >>>A=[1,

当ı打印出来时,下面的代码Q被打印出来,假设它是下一个数字的(3 5 7 9)和。但是在变量管理器中,它是一个整数,ı想要得到像数组一样的结果Q

Q=[3,5,7,9]


这也不起作用

目前,您每次只需声明
Q
,它从未添加到某些值集合中

相反,从一个空列表开始(或者可能是一个numpy数组),然后在循环之外在每个循环周期向其追加

Q
是一个numpy数组,但它不是您所期望的

它没有维度,只引用单个值

>类型(Q)
>>>打印(报告(Q))
阵列(9)
>>将numpy作为np导入
>>>A=[1,2,3,4,5]
>>>Q=np.array([],dtype=np.uint8)
>>>对于范围(4)中的i:
...     Q=np.append(Q,A[i]+A[i+1])#每次为np重新赋值
...
>>>打印(Q)
[3 5 7 9]
请注意,numpy数组应该是,而普通python列表有一个

>l=['a',b',c']#从值列表开始
>>>l.append('d')#使用append方法
>>>l#显示结果列表
['a','b','c','d']
如果一开始不强制使用numpy数组,可以使用

之后,还可以将结果列表制作成numpy数组

>>[(x+x+1)表示范围(1,5)内的x]
[3, 5, 7, 9]
加上简化的数学

np.数组([x*2+3表示范围内的x(4)]) 数组([3,5,7,9])
如果要使用Numpy,请使用Numpy。从Numpy数组(一维,包含值)开始,如下所示:

A = np.array([1, 2, 3, 4, 5])
(是的,您可以从列表中初始化它)

也可以使用Numpy的内置工具创建此类图案数据:

A = np.arange(1, 6) # it works similarly to the built-in `range` type,
# but it does create an actual array.
现在我们可以在加法的左侧和右侧获得要使用的值:

# You can slice one-dimensional Numpy arrays just like you would lists.
# With more dimensions, you can slice in each dimension.
X = A[:-1]
Y = A[1:]
并按元素将这些值相加:

Q = X + Y # yes, really that simple!
最后一行就是你用Numpy来解决这样一个问题的原因。否则,只需使用列表:

A = list(range(1, 6)) # same as [1, 2, 3, 4, 5]
# Same slicing, but now we have to do more work for the addition,
# by explaining the process of pairing up the elements.
Q = [x + y for x, y in zip(A[:-1], A[1:])]

用你自己的话来说,你希望Q=np.array(1)做什么?如果你想创建整个结果数组,不是通过这个算法而是硬编码所有的值,你会写什么?“Q是一个numpy数组,但它只保存一个值”甚至不是这样;
Q
数组具有零维,并以一种单独的特殊方式记住值。你说得对<代码>np.数组(1).形状vs
np.数组([1])。形状
A = list(range(1, 6)) # same as [1, 2, 3, 4, 5]
# Same slicing, but now we have to do more work for the addition,
# by explaining the process of pairing up the elements.
Q = [x + y for x, y in zip(A[:-1], A[1:])]