“NoneType”对象没有属性“insert”Python List append ins

2024-05-12 18:45:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下问题: 我创建了一个数组,然后将其转换为一个列表,我想在其中再添加两个值。我尝试过使用append和insert,但我收到错误消息:“NoneType”对象没有属性“insert”。这意味着我的清单不是清单。我想做的是:

f = 25
bi = np.arange(-f, f + 5, 5)
beta = bi.tolist()
print "beta:", beta

d = np.arange(-f, f + 5, f / 3)
di = d.tolist()
print "di:", di

dj = di.insert(1, -f / 2)
print "dj:", dj 

dk = dj.insert(5, f / 2)
dw = sorted(dk)
delta = [round(elem, 0) for elem in dw]
print "delta:", delta   

有没有人知道我做错了什么,或者我怎么能让它工作?此外,“排序”似乎也不起作用。


Tags: 列表npdj数组betadeltainsertprint
3条回答

insert()append()不返回新列表,因此无法将其分配给dj

di.insert(1,-f/2)

print "di:", di

di.insert(5,f/2)

print "di:", di

dw = sorted(di)

问题在第9行: list insert方法不返回任何内容(表示无)

dj=di.insert(1,-f/2)

因此,dj将被指定为“无” 所以这句话会引起一个错误。

dk=dj.insert(5,f/2)

现在试试这个:

f=25
bi=np.arange(-f,f+5,5)
beta=bi.tolist()
print "beta:", beta
d=np.arange(-f,f+5,f/3)
di=d.tolist()
print "di:", di
di.insert(1,-f/2)
print "di:", di
di.insert(5,f/2)
dw=sorted(di)
delta=[round(elem, 0) for elem in dw]
print "delta:", delta

你的问题在于:

dj=di.insert(1,-f/2)
dk=dj.insert(5,f/2)

di.insert()在列表di中插入一些内容并返回None,因此将None分配给dj

然后,您试图调用'value'None中的函数insert(),但该函数没有它,所以您得到一个错误。

相关问题 更多 >