从子词典获取列表

2024-03-29 15:35:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还很陌生,对字典也很感兴趣。他们让我命名所有的东西,这样我就不必记住字段的位置,而且似乎可以生成更可靠的代码。但是,现在我面临着从这个dict中提取列表(1,2,3,4)和(5,6,7,8)。有什么想法吗??还有。。。这段代码是一个随机建模程序的核心,所以我需要快速。 干杯!你知道吗

evnt = {'m1':{'rate':1, 'val':5 },
        'm2':{'rate':2, 'val':6 },
        'd1':{'rate':3, 'val':7 },
        'd2':{'rate':4, 'val':8 }}

Tags: 代码程序核心列表字典rateval建模
3条回答

你的字典很短,所以你最好不要使用itertools:

zip(*(item.values() for item in evnt.values()))

您可以使用列表理解:

检查第5.1.4节

http://docs.python.org/2/tutorial/datastructures.html

rates = [x['rate'] for x in evnt.values()]
values = [x['val'] for x in evnt.values()]

一个明显的方法是列表理解,如果它对您来说不够快,那么您可能需要考虑不同的数据结构。你知道吗

>>> [v['rate'] for v in evnt.itervalues()]
[4, 3, 1, 2]

注:.values()表示Python3)

不,你不能把它们整理好(不分类),因为你的字典一开始就没有整理好。你知道吗

相关问题 更多 >