2012-08-08 2 views
0

2 레벨 캡슐화 된 사전에서 "GROUP"문자열을 추출하고 싶습니다. 내가 obviuos 방법 dict['instance1']['runType']instance1의 runType에 액세스하는 경우파이썬 : 다중 캡슐화 된 사전에서 원시 값 추출

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

, 그럼 내가 문자열 ['GROUP']를 얻을. 또한 .get이 원시 문자열 "GROUP"을 반환 할 것이라는 희망을 가지고 dict['instance1'].get('runType', 'Null')을 시도했지만 그 일은 발생하지 않았습니다.

X>1 사전의 순수 문자열 데이터를 얻는 다른 짧은 방법이 있습니까 str() 다음에 strip() 등이 없습니까?

-------------- 해결 ---------------

딕셔너리 [ 'INSTANCE1'] [ 'runType'] 0]

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

대괄호와 따옴표없이 순수한 문자열을 갖고 싶습니다. 다른 텍스트 문자열과 더 비교하고 싶습니다. 이름에 관해서는 - 그것을 무시하고, 나는 이런 식으로 스크립트에서 이름을 짓지 않습니다. –

답변

0

친구로부터 정답을 받았습니다. [ 'GROUP']은 (는) 1 명의 회원 목록입니다. 따라서 dict [ 'instance1'] [ 'runType'] [0]은 순수 GROUP을 반환합니다. 감사합니다.

+1

이 대답이 옳다면, 우리가 준 명령은 틀린 것입니다 : 우리가 준 명령은'[ 'GROUP']'가 아니라'dict [instance1 '] ['runType '] =='GROUP ''입니다. 사람들에게 잘못된 데이터를 제공하면 잘못된 문제에 대한 올바른 대답이 제시됩니다. – DSM

2

작품을 반환합니다. extracted_string에 이제 GROUP이 포함되어 있으므로 원하는대로 사용하고 조작 할 수 있습니다. 또한 내장 사전 클래스의 이름이기 때문에 사전에 이름을 지정하지 않아야합니다.

+0

직접 해석기에는 대괄호가 표시되지 않습니다. 스크립트에서는 [ 'GROUP']을 (를) 반환합니다. 또한 작은 따옴표가 사라지길 원합니다. –

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

최고의 솔루션입니다 나를 위해 순수 GROUP 문자열을