2012-08-08 66 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,您可以随意使用和操作它。此外,你不应该命名你的字典字典,因为这是一个内置类的名字。