【发布时间】:2018-10-13 12:26:10
【问题描述】:
我有一个包含大约三十行的文本文件:
F2(g)+2e–|2F–(aq)|+2.87
Co3+(aq)+e–|Co2+(aq)|+1.82
我已经在 '|' 处分割了行创建三个单独的列表,但我想合并列表 left 和 right 并使用压缩列表作为字典中的键,第三个列表作为值。这是我当前的代码:
infile = open('myfile.txt', 'r')
lines = infile.readlines()
infile.close()
data = {}
for line in lines[1:]:
left, right, value = line.rstrip('\n').split('|')
z = [str(x[0]) + x[1] for x in zip(left, right)]
data[z]=value
这不起作用。当我尝试将left 和right 压缩到z 时,我得到如下结果:
['F2', '2F', '(–', 'g(', ')a', '+q', '2)']
['CC', 'oo', '32', '++', '((', 'aa', 'qq', '))']
我想要完成的是这个输出:
{
'F2(g)+2e– 2F–(aq)': '+2.87',
'Co3+(aq)+e– Co2+(aq)': '+1.82'
}
【问题讨论】:
标签: python string python-3.x dictionary zip