如果子列表是一定长度,如何将项目插入子列表?

时间:2014-01-30 03:58:25

标签: python list insert sublist

如果子列表是4项,请保留,如果列表是3项,则将“Null”插入子列表的第三位。带有条件“if”的for循环会这样做,但它很慢。有没有更快的方法?

 lst = [['4','4','4','4'],['3','3','3'],['1','42','','4'],['1','2','3']]

 Desired_List = [['4','4','4','4'],['3','3','Null','3'],['1','42','5','4'],['1','2','Null','3']]

我所拥有的,由于某种原因我无法理解,这是行不通的:

Desired_List = []
for sublist in lst: 
   if len(sublist) == 3:
      Desired_List.extend(sublist.insert(3,"Null"))
   else:
      Desired_List.extend(sublist)

这真的很慢,因为我这样做是为了一个大的列表。有没有更快的方法?

1 个答案:

答案 0 :(得分:1)

如果您已经更改lst,请考虑使用它而不是创建新列表Desired_List,只需执行以下操作:

>>> for sublist in lst: 
...    if len(sublist) == 3:
...       sublist.insert(2,"Null")
... 
>>> lst
[['4', '4', '4', '4'], ['3', '3', 'Null', '3'], ['1', '42', '', '4'], ['1', '2', 'Null', '3']]