Python 2.7中的多行字符串到元组字典

时间:2017-05-30 06:01:33

标签: python string python-2.7 dictionary tuples

我有一个多行字符串,我想用Python 2.7转换成元组字典

我的字符串是:

data = '''1 George  1789 
2   John    1797
3   Thomas  1801
5   James   1817'''

让我们调用字典:

pres{}

我希望密钥为1,并且它所吐出的值为" George"和" 1789"。

print pres[1] 

应该给出

George,1789

1 个答案:

答案 0 :(得分:1)

如果你拆分文本,你可以用一种舒适的方式解析它:

data = """1   George  1789 
2   John    1797
3   Thomas  1801
5   James   1817"""
rows = data.split('\n')
pres = {}
for row in rows:
    vals = row.split()
    pres[vals[0]] = (vals[1], vals[2])

pres
{'1': ('George', '1789'), '3': ('Thomas', '1801'), '2': ('John', '1797'), '5': ('James', '1817')}

您当然可以将pres[vals[0]] = (vals[1], vals[2])更改为pres[int(vals[0])] = (vals[1], vals[2]),以便拥有整数索引,而不是字符串索引。

此外,多行字符串包含三个引号而不是一个。

相关问题