python3 字典操作

Dictionary 字典(装下整个世界)
字典是python中的唯一的映射类型,采用键值对的形式存储数据(key-value)。python对key进行哈希函数运算,根据计算结果决定value存储的地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。
字典是除列表以外python之中最灵活 的内置数据结构类型。列表是有序的对象结合,字典是无序的对象结合。两者之间的区别在于,字典当中的元素试试通过键来存取得,而不是通过便宜存取。


字典的特点:无序,键唯一

字典中的键是唯一的需要使用不可变类型作为键名;
值是可以为列表,字典,整型,字符串,元组。
通过键名映射指向值。

python  不可变类型:整型,字符串,元组
                 可变类型:列表,字典



字典-操作:
增加

>>> dic={ }
>>> dic['name'] = 'Lilei' #键 ——>值   键是唯一的
>>> dic['age'] = 22
>>> print(dic)
{'name': 'Lilei', 'age': 22}


setdefault()方法增加,如果存在添加的键,则不会对已经存在的键值对进行修改,且返回已经有的对应的值返回。如果键值对不存在则增加键值对并返回相应的值。
>>> dic ={'name':'HanMei'}
>>> a=dic.setdefault('name','Lilei') #已经存在name,则不会对已经有的name的值进行修改,返回之前的值HanMei
>>> print(dic)
{'name': 'HanMei'}
>>> print(a)
HanMei
====================
>>> dic ={'name':'HanMei'}
>>> a=dic.setdefault('age',22) #不存在age,直接增加键值对,且返回增加的age对应的值22
>>> print(dic)
{'name': 'HanMei', 'age': 22}
>>> print(a)
22


修改值
>>> dic ={'name':'HanMei'}
>>> dic['name']='Lilei' #对应的键进行赋值修改
>>> print(dic)
{'name': 'Lilei'}


update()方法,类似list得extend()方法,如果两个字典存在相同的键,会更新为最新的值
>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> dic2={1:'x',2:'y'}
>>> dic.update(dic2)  #将dic2的键值更新到dic中,无重复键
>>> print(dic)
{'name': 'HanMei', 'age': 22, '性别': '女', 1: 'x', 2: 'y'}
=================================
>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> dic2={'name':'x',2:'y'}
>>> dic.update(dic2) #将dic2的键值更新到dic中,name重复则将dic2的值更新为name的值
>>> print(dic)
{'name': 'x', 'age': 22, '性别': '女', 2: 'y'}


字典值查询,通过键进行值得查找
>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> dic['name'] #查找name对应的值

'HanMei'


=========
>>> dic={'name':'HanMei','age':22,'性别':'女
>>> dic.keys() #获取键名
dict_keys(['name', 'age', '性别'])
>>> dic['name']
'HanMei'
>>> print(list(dic.keys())) #获取键以list形式
['name', 'age', '性别']
>>> print(list(dic.values())) #获取值以list形式

['HanMei', 22, '女']


=============
>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> dic.items() #获取键值对

dict_items([('name', 'HanMei'), ('age', 22), ('性别', '女')])

删除操作,类似list中的删除操作

>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> del dic['name'] #删除指定的name
>>> dic
{'age': 22, '性别': '女'}
=========
>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> dic.clear()#清空字典
>>> dic
{}
==========
>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> dic.pop('name')#删除指定的name,且返回删除的键值的值
'HanMei'
==========
>>> dic={'name':'HanMei','age':22,'性别':'女'}
>>> dic.popitem()#随机删除其中的键值对,且元组形式返回删除的键值对
('性别', '女')


遍历字典
for i in dic:
print(i,dic[i])
这种方式遍历效率较高
for key,value in dic.items():
print(key,value)
该方式用到items()方法在数据量较大时会比较耗时



  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值