【问题标题】:Why is my list of length 1 when i append my empty list?当我附加我的空列表时,为什么我的列表长度为 1?
【发布时间】:2020-08-29 15:29:50
【问题描述】:

我正在尝试附加一个空列表,其中包含具有一系列输入值的函数的输出。然后我想根据输出绘制输入。但是,结果列表的维度据说是 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()

【问题讨论】:

  • print(y) 的输出是什么?
  • 能否请您显示您在y 中看到的“许多条目”?在您的代码中,您只需向此列表添加一个值。

标签: python list append dimensions


【解决方案1】:

由于您要附加到y 的元素是一个列表,它被附加为单个元素,其中包含多个项目。所以y的长度是1。

为了将list的元素添加到另一个list中,可以使用extend,基本上就是list拼接。

append 更改为extend

y.extend(-2*Um*alpha*(1 - exp(-alpha*(x - x0)))*exp(-alpha*(x - x0)))

【讨论】:

  • 不用解释,这并不过分有用。
猜你喜欢
  • 1970-01-01
  • 2018-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 2017-03-21
相关资源
最近更新 更多