【发布时间】:2012-04-28 23:57:24
【问题描述】:
我有一个类似这样的数据结构:
三个城市不同年份的人口如下。
Name 1990 2000 2010
A 10 20 30
B 20 30 10
C 30 10 20
我正在使用defaultdict 来存储数据。
from collections import defaultdict
cityPopulation=defaultdict(list)
cityPopulation['A']=[10,20,30]
cityPopulation['B']=[20,30,10]
cityPopulation['C']=[30,10,20]
我想根据列表的特定列(年份)对defaultdict 进行排序。
比如说,1990 年的排序应该给出C,B,A,而 2010 年的排序应该给出A,C,B。
另外,这是存储数据的最佳方式吗?当我改变人口值时,我希望它是可变的。
【问题讨论】:
-
您想存储排序后的字典以备将来使用,还是直接输出?您可能想查看ordereddict 和namedtuple。
-
我只想打印订单。
-
为什么
2010的排序会给出A,B,C? -
好吧,你仍然很可能想要一个有序的数据结构。
-
我不希望对数据结构进行排序,因为顺序取决于年份。
标签: python sorting dictionary defaultdict