for oneitem in ss:
if len(oneitem)==0:
ss.remove(oneitem)
我用这个循环得到的列表不正确。假设ss中间全部是列表
比如ss=[[],[],[22,2]],得到的是[[],[22,2]],
是不能用remove么?如果ss中间不全部是列表,还有其他元素又怎么办?
5 回答
qq_慕的地9076105
TA贡献1条经验 获得超0个赞
ss = [[],[],3,5,[22,2]] def func(L): ll = [] for oneitem in ss: if oneitem: ll.append(oneitem) return ll ss = func(ss) print(ss)
pardon110
TA贡献1038条经验 获得超227个赞
使用高阶过滤函数(或匿名函数)。如果不全是列表,那你需要对元素进行判断,然后再进行相应的处理。通常情况下,会先使用切片得到一个副本,在副本上操作。
添加回答
举报
0/150
提交
取消