7

辞書内のキーの範囲をどのように反復しますか?

たとえば、次の辞書があるとします。

{'Domain Source': 'Analyst', 'Recommend Suppress': 'N', 'Standard Error': '0.25', 'Element ID': '1.A.1.d.1', 'N': '8', 'Scale ID': 'IM', 'Not Relevant': 'n/a', 'Element Name': 'Memorization', 'Lower CI Bound': '2.26', 'Date': '06/2006', 'Data Value': '2.75', 'Upper CI Bound': '3.24', 'O*NET-SOC Code': '11-1011.00'}

標準エラーの後にキーのみを反復処理するにはどうすればよいですか? 理想的には、標準誤差に従ってすべての値を取得したいと考えています。

ありがとう!


コメントに対処するためだけに: iteritems() については知っていますが、添え字を付けようとすると、エラーが返されました: 添え字を付けることができません。また、キー/値は毎回同じ順序になります。

4

4 に答える 4

2

ディクショナリは、追加したのと同じ順序でキーと値のペアを保存しません... anOrderedDictが使用されない限り。方法は次のとおりです。

entries = [('Domain Source', 'Analyst'), ('Recommend Suppress', 'N'),
 ('Standard Error', '0.25'), ('Element ID', '1.A.1.d.1'),
 ('N', '8'), ('Scale ID', 'IM'), ('Not Relevant', 'n/a'),
 ('Element Name', 'Memorization'), ('Lower CI Bound', '2.26'),
 ('Date', '06/2006'), ('Data Value', '2.75'), 
 ('Upper CI Bound', '3.24'), ('O*NET-SOC Code', '11-1011.00')]

from collections import OrderedDict
d = OrderedDict(entries)
d.keys()[2:]

=> ['Standard Error', 'Element ID', 'N', 'Scale ID', 'Not Relevant',
    'Element Name', 'Lower CI Bound', 'Date', 'Data Value',
    'Upper CI Bound', 'O*NET-SOC Code']
于 2013-08-01T21:10:41.127 に答える
2

ここでの問題は、Python 辞書が順序付けされていないこと'Standard Error'です。

于 2013-08-01T21:04:38.377 に答える