从双字典python中提取值

时间:2013-02-17 00:05:56

标签: python

这可能是一个非常愚蠢的问题,但我想知道如何从表单的双字典中提取RFC822.SIZE值:

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

4 个答案:

答案 0 :(得分:2)

your_dict = { 1:{'foo':123}}
your_dict[1]['foo']

答案 1 :(得分: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']获取此值。

答案 2 :(得分:0)

通过'双字典',我想你的意思是嵌套字典,对吗?

好吧,当你通过一个键(比如说1)访问outter dict的值时,它将返回相应的内部dict,你可以访问这些值...好吧,就像一个dict。

这是一个例子:

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上编码的时候经常使用dicts)所以我建议(如果你打算在python上进行严格的编码)你读过一些tuturial,至少你可以在{{ {3}}

答案 3 :(得分:0)

您有嵌套字典,因此请使用嵌套查找:

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

请注意它与评论中的用法之间的细微差别:您的提交尝试索引item,而此索引sizeList[item]