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

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中间不全部是列表,还有其他元素又怎么办?
查看完整描述

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)
查看完整回答
反对 回复 2018-12-15
?
产品经理不是经理

TA贡献481条经验 获得超143个赞

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


查看完整回答
反对 回复 2017-12-21
  • 慕粉3218036
    慕粉3218036
    为什么我上面用for in 会出现那种错误?你这个貌似没有问题
?
pardon110

TA贡献1038条经验 获得超227个赞

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

查看完整回答
反对 回复 2017-12-21
  • 5 回答
  • 0 关注
  • 4400 浏览
慕课专栏
更多

添加回答

举报

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