-1

RFC822.SIZEこれは非常にばかげた質問かもしれませんが、次の形式の二重辞書から値を抽出する方法を知りたいです。

{1: {'RFC822.SIZE': 2515, 'SEQ': 1}, 
2: {'RFC822.SIZE': 2942, 'SEQ': 2}, ....
4

4 に答える 4

2
your_dict = { 1:{'foo':123}}
your_dict[1]['foo']
于 2013-02-17T00:12:18.517 に答える
0
In [2]: {1: {'RFC822.SIZE': 2515, 'SEQ': 1}, 2: {'RFC822.SIZE': 2942, 'SEQ': 2}}[1]['RFC822.SIZE']
Out[2]: 2515

{...}[1]サブディクショナリ{'RFC822.SIZE': 2515, 'SEQ': 1}を返し、 を使用してこれから値を取得できます['RFC822.SIZE']

于 2013-02-17T00:12:39.957 に答える
0

「二重辞書」とは、ネストされた辞書を意味していると思いますよね?

さて、キー(たとえば、1)を介して外部辞書の値にアクセスすると、対応する内部辞書が返され、その値にアクセスできます...まあ、辞書のように。

次に例を示します。

data = {1: {'RFC822.SIZE': 2515, 'SEQ': 1}, 2: {'RFC822.SIZE': 2942, 'SEQ': 2}}

# get the inner dictionary with key 1
key_1 = data[1] # {'RFC822.SIZE': 2515, 'SEQ': 1}

# get RFC822.SIZE
size = key_1['RFC822.SIZE']

これを知っていれば、値に直接アクセスすることですべてのコードを要約できます。

size = data[1]['RFC822.SIZE']

これはいくつかの基本的な python です (python でコーディングするときは常に dict を使用します) ので、(python で本格的なコーディングを行う予定がある場合) チュートリアルを読むことをお勧めします。少なくともpython のドキュメント ページで見つけることができる入門的なものです。

于 2013-02-17T00:15:19.673 に答える
0

ネストされた辞書があるため、ネストされたルックアップを使用します。

for item in sizeList:
    print item, sizeList[item]['RFC822.SIZE']

これとコメントの使用法とのわずかな違いに注意してください。あなたのコメントは indexitemを試みますが、これは indexsizeList[item]です。

于 2013-02-17T00:17:39.970 に答える