python 算法题

['', 'CAS:', '', '', '689-97-4', '', '', '', '中文名称:', '', '乙烯基乙炔', '', '', '英文名称:', '', 'Vinyl acetylene;Buten-3-yne', '', '', '别 名:', '', '', '', '', '分子式:', 'C4H4;CH2CHCCH', '分子量:', '', '52.04', '', '', '熔 点:', '', '-118℃ 沸点:5℃', '', '', '密 度:', '', '相对密度(水=1)0.71;', '', '', '蒸汽压:', '', '', '', '溶解性:', '', '', '', '', '稳定性:', '', '稳定', '', '', '外观与性状:', '', '气态(常温)', '', '', '危险标记:', '', '4(易燃气体)', '', '', '用 途:', '']

这里的列表数据,相邻的数据有少于4个空格都删除,如果有四个空格的变1个空格,这个列表数据改如何处理?

阅读 2k
2 个回答
abc = ['', 'CAS:', '', '', '689-97-4', '', '', '', '中文名称:', '', '乙烯基乙炔', '', '', '英文名称:', '', 'Vinyl acetylene;Buten-3-yne', '', '', '别 名:', '', '', '', '', '分子式:', 'C4H4;CH2CHCCH', '分子量:', '', '52.04', '', '', '熔 点:', '', '-118℃ 沸点:5℃', '', '', '密 度:', '', '相对密度(水=1)0.71;', '', '', '蒸汽压:', '', '', '', '溶解性:', '', '', '', '', '稳定性:', '', '稳定', '', '', '外观与性状:', '', '气态(常温)', '', '', '危险标记:', '', '4(易燃气体)', '', '', '用 途:', '']
flag = 0
newArr = []
for obj in abc:
    if obj == '':
        flag = flag+1
        newArr.append('')
        if flag == 4:
            newArr = newArr[0:-3]
    else:
        newArr.append(obj)
        flag = 0
print newArr
l = ['', 'CAS:', '', '', '689-97-4', '', '', '', '中文名称:', '', '乙烯基乙炔', '', '', '英文名称:', '', 'Vinyl acetylene;Buten-3-yne', '', '', '别 名:', '', '', '', '', '分子式:', 'C4H4;CH2CHCCH', '分子量:', '', '52.04', '', '', '熔 点:', '', '-118℃ 沸点:5℃', '', '', '密 度:', '', '相对密度(水=1)0.71;', '', '', '蒸汽压:', '', '', '', '溶解性:', '', '', '', '', '稳定性:', '', '稳定', '', '', '外观与性状:', '', '气态(常温)', '', '', '危险标记:', '', '4(易燃气体)', '', '', '用 途:', '']
list(filter(lambda x : x if x else None,l))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题