04 Feb 2017
假设我们有一个比赛,希望记录选手的名称,然后按照选手完成比赛的顺序来储存选手的信息,那这样的话,我们需要这样一个dict
{选手名称:(名次, 完成时间), …}
这样我们就可以方便的按照选手的名称找到他/她的名次和时间,但是假如我们希望按照记录的顺序,也就是选手名次的顺序来迭代整个列表,传统的dict无法实现
>>> d["Jim"] = (1, 10) >>> d["Bob"] = (2, 15) >>> d["Tim"] = (3, 25) >>> d["Sandy"] = (4, 33) >>> for i in d: ... print i Tim Bob Jim Sandy
输出的名称是无序的
>>> from collections import OrderedDict >>> od = OrderedDict() >>> od["Jim"] = (1, 10) >>> od["Bob"] = (2, 15) >>> od["Tim"] = (3, 25) >>> od["Sandy"] = (4, 33) >>> for i in od: ... print i Jim Bob Tim Sandy
OrderedDict可以让dict记录元素进入的顺序,实现dict的顺序化