我正在努力解决这个问题,
lst = [['1','2','3'], ['1','2','3','4']]
print [ls for ls in lst if (len(ls)==3) ls.insert(2,"Null")]
但它给出了以下错误,
[ls for ls in lst if (len(ls)==3) ls.insert(2, 'null')]
^
SyntaxError: invalid syntax
请您参考如下方法:
使用列表推导来解决副作用是个坏主意。你应该为你的目的使用 Loop
首先你的语法错误
[ls for ls in lst if (len(ls)==3) ls.insert(2, 'null')]
应该已经写好了(让我们忽略坏主意部分)
[ls.insert(2, 'null') for ls in lst if (len(ls)==3) ]
但是,您最终会创建一个无资源列表,这是一种资源浪费。
相反,你应该这样做
for ls in lst:
if len(ls) == 3:
ls.insert(2, 'null')
