1.对字典排序

任务
对字典进行排序,这意味着需要根据字典的键排序,然后再让对应的值也处于同样的顺序。

解决方案
最简单的方法是,先将键排序,然后选出对应值。

def sort_dict(adict):
    keys = list(adict.keys())
    keys.sort()
    return [adict[key] for key in keys]

测试用例

if __name__ == '__main__':
    adict = {
        '0001':'下雨天' ,
        '0003':'晴天',
        '0002':'阴天'
    }
    print(sort_dict(adict))

测试结果

clipboard.png

讨论
在最后的return语句中,将列表推导式换成对map的调用可以获得一些速度上的提升,大约20%。比如:return map(adict.get, keys)


月季卷心菜花
53 声望7 粉丝

吾魂兮无求乎永生,竭尽兮人事之所能。