Python 为什么在附加空列表时我的列表长度为1?
我试图附加一个空列表,其中包含一个函数的输出和一系列输入值。然后我想根据输出绘制输入。然而,结果列表的维度据说是1,但是当我打印列表本身时,它似乎显示了许多条目。因此,由于尺寸不同,我无法绘制输入与输出。任何帮助都将不胜感激 另外,我还处于再次学习Python的早期阶段,所以我确信这是一个基本问题Python 为什么在附加空列表时我的列表长度为1?,python,list,append,dimensions,Python,List,Append,Dimensions,我试图附加一个空列表,其中包含一个函数的输出和一系列输入值。然后我想根据输出绘制输入。然而,结果列表的维度据说是1,但是当我打印列表本身时,它似乎显示了许多条目。因此,由于尺寸不同,我无法绘制输入与输出。任何帮助都将不胜感激 另外,我还处于再次学习Python的早期阶段,所以我确信这是一个基本问题 import math import numpy as np import pylab from sympy import * Um,x,x0,alpha=symbols('Um x x0 alph
import math
import numpy as np
import pylab
from sympy import *
Um,x,x0,alpha=symbols('Um x x0 alpha', real=True)
U = Um*((1-exp(-alpha*(x-x0)))**2-1)
F=-U.diff(x)
x = np.arange(0,30,0.1)
y=[]
y.append(-2*Um*alpha*(1 - exp(-alpha*(x - x0)))*exp(-alpha*(x - x0)))
alpha = 2.287
x0=1.2
Um=7.37
exp=math.exp
print(len(y))
print(y)
pylab.plot(x,y)
pylab.show()
由于要附加到
y
的元素是一个列表,因此它被附加为单个元素,其中包含多个项目。这就是为什么y
的长度是1
为了将列表的元素添加到另一个列表中,您可以使用extend
,这基本上是一个列表连接
将追加
更改为扩展
:
y.extend(-2*Um*alpha*(1 - exp(-alpha*(x - x0)))*exp(-alpha*(x - x0)))
由于要附加到
y
的元素是一个列表,因此它被附加为单个元素,其中包含多个项目。这就是为什么y
的长度是1
为了将列表的元素添加到另一个列表中,您可以使用extend
,这基本上是一个列表连接
将追加
更改为扩展
:
y.extend(-2*Um*alpha*(1 - exp(-alpha*(x - x0)))*exp(-alpha*(x - x0)))
您得到的打印(y)的输出是什么?请显示您在
y
中看到的“许多条目”好吗?在您的代码中,您只向该列表添加了一个值。您得到的print(y)
的输出是什么?能否显示您在y
中看到的“多个条目”?在您的代码中,您只向该列表添加了一个值。没有解释,这不会太有用。没有解释,这不会太有用。