2013-04-25 31 views
-1

我在從字典中提取值時遇到問題。 di是一本字典。具有多個參數的值的python字典

for key in di.keys() 
    print("key is = %s" %key) 
for value in di.values() 
    print("value is = %s" %value) 

它給作爲

key is = 1 

value is = xyz=0 | pqr=70 | abc=300 

我想以上獨立變量的所有的3個值(0,70,300)輸出。我無法做

di['xyz'] 

因爲xyz本身就是一個值。 如何獲取所有這些值? 它是一個嵌套字典嗎?

+1

,這不是有效的Python – jamylak 2013-04-25 05:29:17

+0

編輯我的錯誤 – Maulik 2013-04-25 05:35:54

+1

是什麼'di'的樣子,什麼是數據的格式進行訪問? – 2013-04-25 05:36:10

回答

2

從外觀上來看,這是你的字典

>>> di = {'1': 'xyz=0 | pqr=70 | abc=300'} 

或許{1: 'xyz=0 | pqr=70 | abc=300'},但你不是很清楚的問題,所以我會認爲第一。

這很奇怪,你會擁有這是一個字典,所以我不會打擾試圖思考爲什麼,可能是,我將僅僅告訴你如何可以建立你想要的東西從字符串'xyz=0 | pqr=70 | abc=300'

>>> di['1'].split(' | ') 
['xyz=0', 'pqr=70', 'abc=300'] 
由豎條

拆分

>>> [x.split('=') for x in di['1'].split(' | ')] 
[['xyz', '0'], ['pqr', '70'], ['abc', '300']] 

拆分成等號,使密鑰對名單

>>> dict(x.split('=') for x in di['1'].split(' | ')) 
{'xyz': '0', 'abc': '300', 'pqr': '70'} 

構建一個dict出的是

>>> di = dict(x.split('=') for x in di['1'].split(' | ')) 
>>> di['xyz'] 
'0' 

,現在你可以像di['xyz']

+0

謝謝你,現在我明白了。 – Maulik 2013-04-26 06:42:25

相關問題