'NoneType'对象没有属性'insert' Python 列表追加插入



我有以下问题:我创建了一个数组,然后将其转换为一个列表,我想在其中再添加两个值。我已经尝试使用附加和插入,但我成为错误消息:"NoneType"对象没有属性"插入"。这意味着我的列表不是列表。这是我正在尝试做的:

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   

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

问题出在第 9 行:列表插入方法不返回任何内容(表示无),

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

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

di.insert(1,-f/2)
print "di:", di
di.insert(5,f/2)
print "di:", di
dw = sorted(di)

您的问题出在以下几行中:

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

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

然后,您尝试在"值"None中调用函数insert(),该函数没有它,因此您会收到错误。

是的,这是因为di.insert()实际上并没有返回任何内容,这就是为什么dj是一个NoneType对象。

改为执行此操作

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

最新更新