python中dict的使用方法

一、定义字典
定义一个字典有三种方法:
1. dict_1 = dict()
2. dict_2 = {}
3. 引用collections中的defaultdict

dict_3 = defaultdict(int)
print dict_3["a"] #  输出:  0

二、为字典设置默认值
有两种方式可以为不存在的key设置默认值
1.dict

dict_4 = {}
print dict_4.setdefault("a", 0) #  输出:0  
print dict_4["a"] + 1 # 1

dict_4.setdefault(“a”, 0),如果dict_4中有“a”这个key,则返回“a”对应的value,如果没有,则返回0

2.defaultdict

dict_5 = defaultdict(int) # int可以替换为list,tuple,dict,str等数据类型
print dict_5["a"]  # 输出:0

defaultdict类可以接受两类参数:
a. 类型参数
b.函数
示例1:lambda函数

dict_6 = defaultdict(lambda:2)
print dict_6["1"] # 输出:2

示例2:任意不带参数的函数,返回的值就是字典的默认值

def dict_fun():
    return None
dict_7 = defaultdict(dict_fun)
print dict_7["1"] # 输出:None

示例3:利用itertools.repeat()将任意常量值作为字典的默认值

def constant_factory(value):
    return itertools.repeat(value).next
d = defaultdict(constant_factory('<missing>'))
d.update(name='John', action='ran')
print  '%(name)s %(action)s to %(object)s' % d # 输出:'John ran to <missing>'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值