为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

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


查看完整描述

3 回答

?
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)
查看完整回答
反对 回复 2018-12-15
?
pardon110

使用高阶过滤函数(或匿名函数)。如果不全是列表,那你需要对元素进行判断,然后再进行相应的处理。通常情况下,会先使用切片得到一个副本,在副本上操作。

查看完整回答
反对 回复 2017-12-21
?
FightingBoy
while [] in ss:
    ss.remove([])


查看完整回答
反对 回复 2017-12-21

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信