python 数据结构处理
['分子式:', 'C', '4', 'H', '6', 'O', '2', ';CH', '3', 'COOCHCH', '2', '分子量:', '86.09'] 如何把这里的分子式换成
分子式:C4H6O2;CH3COOCHCH2
我想到的是把这个列表弄成字符串 然后替换掉,请问还有其他办法吗?
我要的效果是这样:
['分子式:', "C4H6O2;CH3COOCHCH2", '分子量:', '86.09']
目标网址是这个:
https://china.guidechem.com/datacenter/msds/c/756.html
spe = htmlResult.xpath('//tr[@bgcolor="fafafa"]//text()|//tr[@bgcolor="#ffffff"]//text()')
我是通过这个把所有数据都抓出来
list[1:-2] =["".join(list[1:-2])] 如果这样写死了,后面的数据就不行了
回答:
假设你要处理的数据是['分子式:', x, x, x, '分子量:', x]
list = ['分子式:', 'C', '4', 'H', '6', 'O', '2', ';CH', '3', 'COOCHCH', '2', '分子量:', '86.09']list[1:-2] =["".join(list[1:-2])]
print(list)
回答:
如果只是处理你问题里的这个数据,拿分子式和分子量作为关键词进行处理即可:
l = ['分子式:', 'C', '4', 'H', '6', 'O', '2', ';CH', '3', 'COOCHCH', '2', '分子量:', '86.09']res = []
tmp = ''
for s in l:
if s.startswith('分子'):
if tmp:
res.append(tmp)
tmp = ''
res.append(s)
else:
tmp += s
res.append(tmp)
print(res)
['分子式:', 'C4H6O2;CH3COOCHCH2', '分子量:', '86.09']
实际数据是什么样的情况,是不是都是这种结构需要你自己判断再改变逻辑了
回答:
同构字符串类型列表,用切片,字符串拼接及参数解构一行解决
>>> l = ['分子式:', 'C', '4', 'H', '6', 'O', '2', ';CH', '3', 'COOCHCH', '2', '分子量:', '86.09']>>> [l[0],"".join(l[1:-2]),*l[-2:]]
['分子式:', 'C4H6O2;CH3COOCHCH2', '分子量:', '86.09']
以上是 python 数据结构处理 的全部内容, 来源链接: utcz.com/a/161243.html