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

时间:2016-01-20 14:21:24

标签: python list insert append

我有以下问题: 我创建了一个数组,然后我把它变成了一个列表,我想再添加两个值。我尝试过追加和插入,但我得知错误信息:' 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   

有谁知道我做错了什么,或者Imake怎么可行呢?而且"排序"似乎也没有工作。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

di.insert(1,-f/2)

print "di:", di

di.insert(5,f/2)

print "di:", di

dw = sorted(di)

答案 2 :(得分:0)

你的问题在于以下几点:

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

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

然后,您试图在“值”insert()中调用函数None,但没有它,因此您收到错误。

答案 3 :(得分:0)

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

改为

public class ModuleListToModuleDefineConverter : System.Windows.Data.IValueConverter
{
   public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
   {
      if (value is ModuleList)
      {
         ModuleList modlist = value as ModuleList;
         string paramList = parameter as string;
         string[] pars = paramList.Split(',');
         int idx = modlist.getItemIndex(pars[0]);
         if (idx != -1)
         {
            switch (pars[0])
            {
               case "SOMEMODID":
                  switch (pars[1])
                  {
                     case "SomeProperty":
                        return (modlist.Items[idx] as SomeModule).C0x10;
                  }
                  break;
               case "SOMEOTHERMODID":
                  switch (pars[1])
                  {
                     case "SomeOtherProperty":
                        return (modlist.Items[idx] as SomeOtherMod).SomeOtherProperty;
                  }
                  break;
            }
         }
         return false;
      }
      else
      {
         return false;
      }
   }

   public object ConvertBack(object obj, Type targetType, object parameter, System.Globalization.CultureInfo culture)
   {
      return null;
   }
}