编程学习之python 有序字典的学习
来源:互联网 发布:电视直播网站源码 编辑:程序博客网 时间:2024/05/16 14:27
OrderedDict是dict的子类,它记住了内容添加的顺序。
使用方法:
import collectionsd = collections.OrderedDict() d['a'] = 'A' d['b'] = 'B' d['c'] = 'C'for k,v in d,items(): print k,v
即输出的顺序为存储的顺序。
配合使用sorted(),可以实现使字典按照value排序:
sortedDict = sorted(d.items(), key = lambda d:d[1], reverse = True)
其中reverse设置为True表示逆序排序,即由大到小排序;默认情况下是由小到大排序。
运用这个知识点,可以很容易解答以下的编程题:https://www.nowcoder.com/questionTerminal/67df1d7889cf4c529576383c2e647c48?orderByHotValue=2&done=0&pos=45&onlyReference=false
程序如下:
import sysimport collectionslst = []dct = collections.OrderedDict()#循环读取输入,将输入的出现次数计入有序字典里面for line in sys.stdin: ele = line.split('\\')[-1].strip('\n') if ele not in lst: lst.append(ele) if ele in dct: dct[ele] = dct[ele] + 1 else: dct[ele] = 1#对字典按照出现次数(value)排序lstTuple = sorted(dct.items(), key = lambda d:d[1], reverse = True)#输出不超过8行的结果count = 0for key in lstTuple: if count > 7: break count = count + 1 #文件名取后16位 if len(key[0].split(' ')[0]) > 16: print key[0].split(' ')[0][-16:], key[0].split(' ')[1], key[1] else: print key[0].split(' ')[0], key[0].split(' ')[1], key[1]
相关链接:
http://www.cnblogs.com/linyawen/archive/2012/03/15/2398292.html
0 0
- 编程学习之python 有序字典的学习
- python之字典的学习
- Python学习(三)——字典、有序字典、集合
- Python学习之字典
- Python学习之字典
- Python 学习之字典
- python学习之字典
- Python学习之字典
- python学习之字典
- python学习之字典
- python -- 有序字典, 有序字典的排序
- python的字典学习
- Python学习之字典详解
- python 学习笔记之字典
- Python学习笔记之字典
- Python学习之字典详解
- python 学习笔记之字典
- python基础学习之字典
- FFT的物理意义
- Objective-C中的位运算符用法
- 【Python精华】100个Python练手小程序
- JavaScript Date对象详解和项目需求
- eclipse debug 多线程
- 编程学习之python 有序字典的学习
- mesos Agent disconnected
- 自动补全和菜单补全
- 数据分析与处理(Leveldb 实现原理)
- .net里如何很好的使用cs页面,js文件与aspx页面里的各个参数相互使用
- 2017.3.16 聪聪可可 思考记录(非常不容易)
- 【经验分享】IMX6开发板编译问题及解决方法
- UnicodeEncodeError:ascii codec can't encode characters in position 9-16:ordinal not in range(128)
- 复习1. --Java基础之switch--