python-字典(dict)

本文介绍了Python字典的初始化、元素访问、增加、删除及遍历等操作,包括get、setdefault、update、pop、popitem和clear等方法。同时,讲解了缺省字典defaultdict和有序字典OrderedDict的使用,帮助理解字典的无序特性和如何维护插入顺序。
摘要由CSDN通过智能技术生成

dict:key-value键值对组成的数据的集合是可变的、无序的、key不可重复

字典初始化

d1 = {}
d2 = dict(a=1,b=2,c=(1,2))#{'a': 1, 'b': 2, 'c': (1, 2)}
d3 = {'a':10,'b':20,'c':[1,2,3]}

元素访问

1.d[key],返回key对应的value值,若不存在抛出异常KeyError
2.get(key,[,default]),返回key对应的value值,若不存在返回缺省值,若缺省值未设置返回None
3.setdefault(key,[,default]),返回key对应的value值,若不存在创建kv对并返回缺省值

dict1 = {'a':10,'b':20,'c':[1,2,3]}
d1 = dict1['a']
d2 = dict1.get('c')
d3 = dict1.get('d')#key不存在,返回缺省值
d4 = dict1.setdefault('m','test')#key不存在,自动创建并返回缺省值(test)
print('d1:',d1)
print('d2:',d2)
print('d3:',d3)
print('d4:',d4)
print(dict1)
#输出
d1: 10
d2: [1, 2, 3]
d3: None
d4: test
{'a': 10, 'b': 20, 'c': [1, 2, 3], 'm': None}

元素增加

1.d[key] = value,若key存在进行修改,若key不存在则进行创建
2.update([other]),使用另一个字典来进行更新

d = {'a':1,'b':2}
d['c'] = 4
print('d:',d)
d.update({'m':99})
print('d:',d)
#输出
d: {'a': 1, 'b': 2, 'c': 4}
d: {'a': 1, 'b': 2, 'c': 4, 'm': 99}

字典删除

1.pop(key),找到key,并进行移除
2.popitem(),移除并返回任意一个键值对
3.clear(),清空字典

字典遍历

d.keys(),字典中所有的key
d.values(),字典中所有的value
d.items(),字典中k-v组成的二元组(key,value)

缺省字典

collections.defaultdict(factory),提供初始化函数,即当key不存在时使用工厂函数来生成key对应的value

from collections import defaultdict

d = defaultdict(list)#当key不存在时创建一个key,对应的value格式为list
for k in 'abcd':
    for i in range(5):
        d[k].append(i)
print('d:',d)
#输出
d: defaultdict(<class 'list'>, {'a': [0, 1, 2, 3, 4], 'b': [0, 1, 2, 3, 4], 'c': [0, 1, 2, 3, 4], 'd': [0, 1, 2, 3, 4]})

有序字典

collections.OrderedDict(xxx),可以记录key插入的顺序,打印时按照该顺序输出,从而实现有序

定义为:d = OrderedDict()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值