python 数据结构处理

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

回到顶部