2012-08-08 65 views
0

我想從2級封裝字典中提取字符串「GROUP」。python:從多封裝字典中提取原始值

dict = {'instance1' : {'runType' : 'GROUP'}, 
     'instance2' : { 'runType' : 'PROCESS'}} 

如果我obviuos方式dict['instance1']['runType']訪問instance1 runType,然後我得到的字符串['GROUP']。我也試過dict['instance1'].get('runType', 'Null'),希望.get會返回原始字符串"GROUP",但那並沒有發生。

是否有其他簡短的方法可以從X>1級別的字典中獲得純字符串數據,而不需要str()然後strip()等等?

--------------解---------------

的dict [ 'INSTANCE1'] [ 'runType'] [ 0]會返回純集團串

+0

我想要沒有方括號和引號的純字符串。我想進一步與其他文本字符串進行比較。關於名稱 - 無視它,我不會用這種方式在腳本中命名它。 – 2012-08-08 12:49:15

回答

0

剛剛得到朋友的正確答案。 ['GROUP']是一個包含1個成員的列表。 因此,dict ['instance1'] ['runType'] [0]將返回純GROUP。 謝謝大家!

+1

如果這個答案是正確的,那麼你給我們的詞典是錯誤的:你給我們的詞典有'dict ['instance1'] ['runType'] =='GROUP'',而不是'['GROUP']''。如果你給人們錯誤的數據,他們會針對錯誤的問題提出正確的答案。 – DSM 2012-08-08 14:12:01

2

對我的作品

>>> dict = {'instance1' : {'runType' : 'GROUP'} , 'instance2' : { 'runType' : 'PROCESS'}} 
>>> dict['instance1']['runType'] 
'GROUP' 
+0

它沒有在動態解釋器中顯示方括號。在腳本中它會返回你['GROUP']。另外我想單引號消失。 – 2012-08-08 12:51:48

3
extraced_string = dict['instance1']['runType'] 

是最好的解決方案。 extracted_string現在包含GROUP,您可以隨意使用和操作它。此外,你不應該命名你的字典字典,因爲這是一個內置類的名字。