python第9天:字典(dict)类型详细操作

本文介绍了Python字典的定义、访问、修改、删除等操作,包括键值对的创建、字典内置方法如keys(), values(), items(), get()等,并强调了iteritems()在节省内存方面的优势。" 96610920,8269996,网络服务质量QoS详解与应用,"['网络技术', '流量管理', '服务质量', '数据通信']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇我们讲了元组(tuple)的操作,今天我们来讲一讲字典的详细操作


1:定义方式

dict1={} 

dict2={'a':1,'b':'bb',3:'c'} 

dict3=dict(name='baby',age=28)    ==》采用的是关键字创建字典

dict4={}.fromkeys(('x','y'), -1)

>>> i=['a','b']
>>> l=[1,2]
>>> dict([i,l])


给字典加值dict3.setdefault('value','lilei'),如果存在value这个key,则不变,如果没有,则给dict3增加一个 value:lilei 项

建议:如果values是数字,建议使用字符串类型的,比如 dicta={‘abc’,‘1232’}

特性

1)、键与值用冒号“:”分开;
2)、项与项用逗号“,”分开;
3)、字典中的键必须是唯一的,而值可以不唯一。如果定义一个字典的时候出现两个key,后面的key会覆盖掉前面的key对应的值

键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,会报错

2:访问

dict3['name']

如果key不存在会报错,那么怎么判断呢,可以使用dict3.has_key('value'),如果dict3的key中有 value,则返回True,没有则返回False

当然也可以用get方法==》 dict3.get('name'),注意:整个地方是()不是[ ],如果key不存在,可以给一个默认值,dict3.get('value','gogogo')


3:修改

修改字典直接给key赋值就好   dict3['name']='hanmeimei'


4:删除

1)根据key删除  del dict2['a']

2)清空字典所有的值  dict2.clear()

3)删除整个字典  del dict2


5:一些操作

cmp(dict1,dict2)   ==>比较2个字典内容,如果一样返回0

len(dict3)   ==>获取字典长度

str(dict3)    ==>转换成字符


字典内置常用方法:

1、adict.keys() 返回一个包含字典所有KEY的列表;
 2、adict.values() 返回一个包含字典所有value的列表;
 3、adict.items() 返回一个包含所有(键,值)元祖的列表;
 4、adict.clear() 删除字典中的所有项或元素;
 5、adict.copy() 返回一个字典浅拷贝的副本;
 6、adict.fromkeys(seq, val=None) 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None);
 7、adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);
 8、adict.has_key(key) 如果key在字典中,返回True,否则返回False。 现在用 in 、 not in;
 9、adict.iteritems()、adict.iterkeys()、adict.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
 10、adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
 11、adict.setdefault(key, default=None) 和set()方法相似,但如果字典中不存在Key键,由 adict[key] = default 为它赋值;
 12、adict.update(bdict) 将字典bdict的键值对添加到字典adict中。


大写的注意:di.items()返回的是key value 为项的列表,iteritems()则返回的是一个迭代器,所以内存开销比较小,实际工作中建议使用iteritems()

下面跟我一起敲













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值