python怎样去除列表中的空列表

for oneitem in ss:
    if len(oneitem)==0:
        ss.remove(oneitem)
        我用这个循环得到的列表不正确。假设ss中间全部是列表
        比如ss=[[],[],[22,2]],得到的是[[],[22,2]],
        是不能用remove么?如果ss中间不全部是列表,还有其他元素又怎么办?


慕粉3218036
浏览 4404回答 5
5回答

qq_慕的地9076105

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)

产品经理不是经理

while [] in ss:     ss.remove([])

pardon110

使用高阶过滤函数(或匿名函数)。如果不全是列表,那你需要对元素进行判断,然后再进行相应的处理。通常情况下,会先使用切片得到一个副本,在副本上操作。
打开App,查看更多内容
随时随地看视频慕课网APP