2015-01-07 6 views
1
내가 아는

, 이것은 쉽게 수 있습니다에 액세스하는 방법을 파이썬,하지만 난 .. 이것이 내가 목록이 사전을 가지고있는 dataJSON의 DICT -

{ u'job_27301': [{u'auto_approve': u'0', 
       u'body_src': u'some text1'}], 

    u'job_27302': [{u'auto_approve': u'0', 
       u'body_src': u'some text2'}], 

    u'job_27303': [{u'auto_approve': u'0', 
       u'body_src': u'some text3'}] } 

입니다 무엇이든지 붙어있다.

어떻게 반복 할 수 있으며 각 단계의 값 목록에서 body_src을 얻을 수 있습니까? 나는 목록 부분을 얻을 수

for k, d in data: 
    print d[k] 

을하려고했으나 DICT (key,item)을 반복하기 위하여는, 당신이 사용할 수있는 too many values to unpack ...

답변

2
d={ u'job_27301': [{u'auto_approve': u'0', 
       u'body_src': u'some text1'}], 

    u'job_27302': [{u'auto_approve': u'0', 
       u'body_src': u'some text2'}], 

    u'job_27303': [{u'auto_approve': u'0', 
       u'body_src': u'some text3'}] } 

for k,v in d.iteritems(): # items in python 3 
    print(v[0]["body_src"]) 

하거나 값은 : 당신이 dict 바로 위에 반복 할 때 당신은 단지 열쇠를 얻을 수 있기 때문에

for v in d.itervalues(): # values in python 3 
    print(v[0]["body_src"]) 
+0

좋은를, 당신은 환영합니다, 당신에게 – doniyor

+0

걱정 감사합니다. –

1

을 말하는 data.items() 또는 iteritems() :

>>> for k,d in data.iteritems(): 
...  print d[0][u'body_src'] 
... 
some text1 
some text3 
some text2 

for k,d in data:을 수행 할 때 키를 반복해서 시도하면

>>> for i in data: 
... print i 
... 
job_27301 
job_27303 
job_27302 
2

당신은 그 오류 메시지가 있어요.

그래서 당신은이 작업을 수행 할 수 있습니다 :

for k in data: 
    print data[k][0]['body_src'] 

출력

some text1 
some text3 
some text2