5:字典及其操作

 

数据类型:

1、可变数据类型:list、dictionary---->不可哈希

2、不可变数据类型:元祖、字符串str、bool、int

字典:数据类型中唯一映射数据类型dict,具有键和值的对应关系

其中:

key:必须是不可变类型,也就是可哈希

value:任意数据类型

字典使用二分法查找,是储存大量数据关系的数据类型

特点:字典是无序的

字典的方法:

1、增  

1>直接赋值:dic1[height]=185,没有键值时,直接赋值;有键值时,被覆盖

2>通过setdefault进行赋值   dic1.setdefault('weight',150)    没有value时默认None ,如果有键值时不做操作,没有才添加

2、删

1>pop          dic1.pop('age')有返回值,按  键  去删除

                     dic1.pop('meiyou','None')    没有此键时返回None,有的话返回被删除的对象

2> popitem     dic1.popitem()       随机删除

                     print(dic1.popitem())   随机删除,有返回值,返回的是元祖显示的是被删除的键值

3>del     删除   del dic1['name']     删除键所对应的值

       del  dic1   删除整个字典

4> clear   dic1.clear  清空字典

 

3、改

 1   > update   更新    

dic1={'name':'王宇星','age':'24','sex':'male'}
dic2={'1':1,'2':2}
dic2.update(dic1)
print(dic1)
print(dic2)

2>直接赋值

 

 

 

4、查  

dic1={'name':'王宇星','age':'24','sex':'male'}
dic2={'1':1,'2':2}
dic2.update(dic1)
print(dic1.keys(),type(dic1.keys()))
print(dic1.values(),type(dic1.values()))

 

 2>  循环查

下面这种循环:直接对字典进行循环,执行结果为key

for i in dic1:
     print(i)

 

如果对dic1.keys()进行for循环,执行结果为key

如果对dic1.values()进行for循环,执行结果为value

 for i in dic1.keys():
     print(i)
for i in dic1.values():
    print(i)

 

键值成对对应打出:使用循环对两个变量进行

      

for i ,j in dic1.items():
    print(i,j)

 

3>get 查询

v1=dic1.get('name','没有这个值')
print(v1)

执行结果为:王宇星

如果不存在相关的键,找不到的话会返回None或者预留的值(如上:执行结果为‘没有这个值’)

posted @ 2017-12-21 17:29  王二黑  阅读(176)  评论(0编辑  收藏  举报