python 数据结构处理题
['', 'CAS:', '', '', '689-97-4', '', '', '', '中文名称:', '', '乙烯基乙炔', '', '', '英文名称:', '', 'Vinyl acetylene;Buten-3-yne', '', '', '别 名:', '', '', '', '', '分子式:', 'C4H4;CH2CHCCH', '分子量:', '', '52.04', '', '', '熔 点:', '', '-118℃ 沸点:5℃', '', '', '密 度:', '', '相对密度(水=1)0.71;', '', '', '蒸汽压:', '', '', '', '溶解性:', '', '', '', '', '稳定性:', '', '稳定', '', '', '外观与性状:', '', '气态(常温)', '', '', '危险标记:', '', '4(易燃气体)', '', '', '用 途:', '', '在工业上是很需要的烯炔烃化合物,用于制备合成橡胶的单体2-氯丁二燃-[1,3]等']
比如
'别 名:', '', '', '', '', '分子式:' 这两个中间有4个空格,那么我想把这四个空格变一个空格 就是这样 '别 名:','',然后小于4个空格的都删掉,比如'CAS:', '', '', '689-97-4' 这两个中间有2个空格,我都删掉 'CAS:' '689-97-4'
有4个空格变为1个空格,少于4个空格都删除,求算法
回答:
一行js代码解决
var arr = ['', 'CAS:', '', '', '689-97-4', '', '', '', '中文名称:', '', '乙烯基乙炔', '', '', '英文名称:', '', 'Vinyl acetylene;Buten-3-yne', '', '', '别 名:', '', '', '', '', '分子式:', 'C4H4;CH2CHCCH', '分子量:', '', '52.04', '', '', '熔 点:', '', '-118℃ 沸点:5℃', '', '', '密 度:', '', '相对密度(水=1)0.71;', '', '', '蒸汽压:', '', '', '', '溶解性:', '', '', '', '', '稳定性:', '', '稳定', '', '', '外观与性状:', '', '气态(常温)', '', '', '危险标记:', '', '4(易燃气体)', '', '', '用 途:', '', '在工业上是很需要的烯炔烃化合物,用于制备合成橡胶的单体2-氯丁二燃-[1,3]等']console.log(arr.join().replace(/(\,{5})/g, m => ',%,').split(',').filter(e => e).map(e => e == '%' ? '' : e))
回答:
python">def handle_blank(arr): blank_cnt = 0
has_blank = False
new_arr = []
for s in arr:
if s == '':
blank_cnt += 1
if blank_cnt >= 4:
has_blank = True
else:
if has_blank:
new_arr.append('')
has_blank = False
blank_cnt = 0
new_arr.append(s)
if has_blank:
new_arr.append('')
return new_arr
没想到有什么优雅的算法-_-
以上是 python 数据结构处理题 的全部内容, 来源链接: utcz.com/p/937711.html