2015-10-19 124 views
1

我想從我的字典中只獲取「代碼」值,但不知道我是否正確。理想的情況是我出認沽應該是唯一的代碼只從字典中獲取特定值

peq = { 
'sg':{'code':9, 'perror':0}, 
'6e':{'code':17, 'perror':0}, 
'g8':{'code':25, 'perror':0}, 
'i7':{'code':33, 'perror':0}, 
'9h':{'code':41, 'perror':0}, 
'it':{'code':49, 'perror':0}, 
'ic':{'code':57, 'perror':0}, 
'9w':{'code':65, 'perror':0}, 
's2':{'code':73, 'perror':0}, 
'ai':{'code':81, 'perror':0} 
} 



for the_value['code'], in peq.iteritems(): 
    print the_value 
+0

你是什麼意思你不知道?它工作與否? – Maroun

+0

'print the_value ['code']''而不是'print the_value' –

回答

4

你應該遍歷值在這種情況下:

for value in peq.itervalues(): 
    print value['code'] 

您也可以順利通過的項目,但返回鍵/值對的元組,其中值是每一個內部字典實例:

for key, value in peq.iteritems(): 
    print value['code'] 
+0

謝謝@black panda –

0
>>> for key in peq: 
     print peq[key]['code'] 
0

這是一種不同的方法,將返回所有「C頌歌」作爲一個列表值:

map(lambda x: x['code'], peq.values()) 

的這個結果將是:

[41, 65, 17, 81, 73, 57, 9, 49, 33, 25] 

很明顯,你可以遍歷說:

for i in map(lambda x: x['code'], peq.values()): 
    print(i) 
0

試大熊貓,它可以比你更可以想象

In [16]: peq = { 
    ....: 'sg':{'code':9, 'perror':0}, 
    ....: '6e':{'code':17, 'perror':0}, 
    ....: 'g8':{'code':25, 'perror':0}, 
    ....: 'i7':{'code':33, 'perror':0}, 
    ....: '9h':{'code':41, 'perror':0}, 
    ....: 'it':{'code':49, 'perror':0}, 
    ....: 'ic':{'code':57, 'perror':0}, 
    ....: '9w':{'code':65, 'perror':0}, 
    ....: 's2':{'code':73, 'perror':0}, 
    ....: 'ai':{'code':81, 'perror':0} 
    ....: } 

In [17]: import pandas as pd 

In [18]: data = pd.DataFrame.from_dict(peq) 

In [19]: data 
Out[19]: 
     6e 9h 9w ai g8 i7 ic it s2 sg 
code 17 41 65 81 25 33 57 49 73 9 
perror 0 0 0 0 0 0 0 0 0 0 

In [20]: data.iloc[0] 
Out[20]: 
6e 17 
9h 41 
9w 65 
ai 81 
g8 25 
i7 33 
ic 57 
it 49 
s2 73 
sg  9 
Name: code, dtype: int64 

In [21]: 

some intro大熊貓的

  1. [pandas intro 1]
  2. [pandas 10 minutes]
+0

@PeterWood我認爲這個問題是作者實際使用案例的一個子子問題。 –