2017-05-30 32 views
-4

我有一個多行字符串,我想轉換成一個元組字典與Python 2.7多行字符串到元組快譯通在Python 2.7

我的字符串是:

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

,讓我們通話字典:

pres{} 

我想要的關鍵是1和它吐出的值是「喬治」和「1789」。

print pres[1] 

應該給

George,1789 
+0

有什麼問題? –

+0

這個問題都沒有使用有效的語法,你想要有效的語法的答案嗎? – donkopotamus

+0

對不起,我是新來編碼,我不確定。我想要命令print pres [5]顯示James,1817 – Ian

回答

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])纔能有整數索引而不是字符串索引。

此外,多行字符串涉及三個引號,而不僅僅是1個。

+0

非常感謝你的工作!也感謝對​​我的耐心。因爲我是新手,所以我可能有點煩。 – Ian