我有以下问题:我创建了一个数组,然后将其转换为一个列表,我想在其中再添加两个值。我已经尝试使用附加和插入,但我成为错误消息:"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)