从双字典python中提取值

从双字典python中提取值,python,Python,这可能是一个非常愚蠢的问题,但我想知道如何从表单的双字典中提取RFC822.SIZE值: {1: {'RFC822.SIZE': 2515, 'SEQ': 1}, 2: {'RFC822.SIZE': 2942, 'SEQ': 2}, .... {…}[1]返回子字典{'RFC822.SIZE':2515,'SEQ':1},您可以使用['RFC822.SIZE']通过'double dictionary',我想您是指嵌套字典,对吗 当你通过一个键(比如说,1)访问outter dict的值时

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

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

{…}[1]
返回子字典
{'RFC822.SIZE':2515,'SEQ':1}
,您可以使用
['RFC822.SIZE']

通过'double dictionary',我想您是指嵌套字典,对吗

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

下面是一个例子:

知道了这一点,您可以通过直接获取值来压缩所有代码:


这是一些基本的python(在python上编码时经常使用dicts),因此我建议(如果您计划在python上进行认真的编码)您阅读一些教程,至少是您可以在

上找到的入门教程。您有一个嵌套字典,因此使用嵌套查找:

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

请注意,这与您的注释中的用法略有不同:您的注释尝试为
编制索引,而此索引为
sizeList[item]

,您希望根据什么标准提取该键,而不是(比如)提取
'SEQ'
?我只提取大小,我并不真正关心
SEQ
。我像这样分离键和值:
for item in sizeList:print item,sizeList[item]
我希望能够访问
sizeList[item]
并提取大小。但是
sizeList[item][0]
似乎不起作用,
sizeList[item['RFC822.SIZE']]
等待-您的意思是要提取值
2515
,还是
2942
?我误解了(我以为您在查找字符串
'RFC822.SIZE'
)。不管怎样,
sizeList[item][“RFC822.SIZE”]
就可以了。哇,我用的是单引号而不是双引号……这就解决了问题!谢谢不,单引号而不是双引号没有任何区别。请尝试
sizeList[item]['RFC822.SIZE']
。您好,帮助吗?dict={1:[{'foo':123}]}如何获取foo值?
In [2]: {1: {'RFC822.SIZE': 2515, 'SEQ': 1}, 2: {'RFC822.SIZE': 2942, 'SEQ': 2}}[1]['RFC822.SIZE']
Out[2]: 2515
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']
for item in sizeList:
    print item, sizeList[item]['RFC822.SIZE']