python的collection系列-默认字典(defaultdict)
2016-04-22 18:18
489 查看
默认字典,能定义默认值为其他类型
#dic1 = {} #dic1["k1"].append("kkkkk") #正常情况会报错 #print(dic1) import collections dic = collections.defaultdict(list) #指定字典的值为列表 dic["k1"].append("kkkkk") print(dic) #执行结果: defaultdict(<class 'list'>, {'k1': ['kkkkk']})
#有如下值集合,不用默认字典执行代码如下 #[11,22,33,44,55,66,77,88,99,90] #将所有大于66的值保存在字典的第一个key中, #将小于等于66的值保存在第二个key的值(列表)中。 #即:{"k1":大于66,"k2":小于等于66} li = [11,22,33,44,55,66,77,88,99,90] dic = {} for i in li: if i>66: if "k1" in dic.keys(): dic["k1"].append(i) else: dic["k1"] = [i,] else: if "k2" in dic.keys(): dic["k2"].append(i) else: dic["k2"] = [i,] print(dic) #执行结果: {'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99, 90]}
#用默认字典精简代码 from collections import defaultdict #这样写,下面就不用写collections.defaultdict了 values = [11, 22, 33,44,55,66,77,88,99,90] my_dict = defaultdict(list) for value in values: if value>66: my_dict['k1'].append(value) else: my_dict['k2'].append(value) print(my_dict) #执行结果: defaultdict(<class 'list'>, {'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99, 90]})
相关文章推荐
- python之logging模块
- python&DBA 一(自动安装热备备份并搭建复制)
- Python练习 - 廖雪峰教程
- SubLime Text 3配置Python环境 (windows下)
- python的collection系列-有序字典(OrderedDict)
- 利用python实现对鼠标的移动点击操作
- 用Python登陆武汉理工大学无线校园网
- python解释器内建函数002
- Python3.5入门学习记录-File
- python unicode-escape编码问题
- python小技巧-基于python本身
- Python爬虫入门笔记:urllib库的使用
- Python中pip版本升级error:You are using pip version 7.1.2, however version 8.1.1 is available.
- python的collection系列-counter
- Python IDLE reload(sys)后无法正常执行命令的原因
- Python笔记01:sort min/max map/filter/reduce 列表解析 详解
- python基础
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- python #coding:utf-8和setdefaultencoding有什么区别?
- Python处理Excel(一):Excel的简单处理