为什么我追加空列表时长度为1的列表?

问题描述 投票:1回答:1

我正在尝试将一个空列表附加到具有输入值范围的函数的输出中。然后,我想根据输出绘制输入。但是,结果列表的维数据说是1,但是当我打印列表本身时,它似乎显示了很多条目。因此,由于尺寸差异,我无法绘制输入与输出的关系图。任何帮助将不胜感激。

P.S-我非常在学习Python的早期阶段,所以我确定这是一个基本问题。

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()
python list append dimensions
1个回答
0
投票

由于要附加到y的元素是一个列表,因此将其作为单个元素附加,其中包含多个项目。这就是y的长度为1的原因。

为了将列表的元素添加到另一个列表中,可以使用extend,它基本上是列表的串联。

append更改为extend

y.extend(-2*Um*alpha*(1 - exp(-alpha*(x - x0)))*exp(-alpha*(x - x0)))
© www.soinside.com 2019 - 2024. All rights reserved.