python 列表中删除 部分一些符合条件的值

list=[None,None,None,None,"a","b","c",None,"d",12,None,2,4,5,4]1.我要删除前面四个None,后面的两个No... list=[None,None,None,None,"a","b","c",None,"d",12,None,2,4,5,4]
1. 我要删除前面四个None, 后面的两个None需要保留
2. 数从"a"到最后 4 之间一共几值. (包括中间的两个"None")
展开
 我来答
可靠的我心我在
推荐于2018-03-13 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:620万
展开全部
>>> list =[None,None,None,None,"a","b","c",None,"d",12,None,2,4,5,4]
>>> list = list[4:]
>>> len(list)
11
>>> list
['a', 'b', 'c', None, 'd', 12, None, 2, 4, 5, 4]
>>>
#如果你的list 格式是相同的 比如前面4个都是None,这个格式是固定的,那么切片很容易解决
追问
问题就是要确定前面有几个None.. 谢谢
追答
tmp = []
list =[None,None,None,None,None,"a","b","c",None,"d",12,None,2,4,5,4]
for i,v in enumerate(list): 
    if not v:
        continue
    else:
        tmp = list[i:]
        break
print tmp
#list 前面是连续的None, 都可以删除
百度网友a36738ba4
2017-05-27 · 超过32用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:48.7万
展开全部
>>> list=[None,None,None,None,"a","b","c",None,"d",12,None,2,4,5,4]
>>> n=len(list[:-11])
>>> n
4
这个就能算出来a前面有几个None
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-11-28
展开全部
应该是符合的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式