繁体   English   中英

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

[英]How to insert an item into a sublist if sublist is a certain length?

如果子列表为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)

这真的很慢,因为我正在对大量列表进行此操作。 有没有更快的方法?

如果您已经更改了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']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM