字典

数据类型划分:分为可变数据类型,不可变数据类型

不可变数据类型(可哈希):元组,bool值,int,str 
可变数据类型(不可哈希):list,dict,se 
dict key键必须是不可变数据类型,
value 值任意数据类型。
dict 优点:二分查找去查询
存储大量的关系型数据
特点:无序的,3.5之前的版本,

  字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的希表示key必须是不可变类型,如:数字、字符串、元组。

  字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典的增

 

dic1 = {'age':18,'name':'sole','sex':'male'}
dic1['high'] = 180  #没有键值对,就添加

print(dic1)

dic1['age'] = 20   #有就覆盖

print(dic1)

dic1.setdefault('weight',100)   #  setdefault 默认是None,有不做任何操作,没有就添加

 

字典的删

dic1 = {'age':18,'name':'sole','sex':'male'}

dic1.pop('18',None)  #可设置返回值

print(dic1)

dic1.popitem()        #随机删除   有返回值,元祖,删除的键值

print(dic1)

dic1.clear()           #清空字典

print(dic1)

del dic1['age']        #可以删除整个字典

print(dic1)

 

字典的改

dic1 = {'age':18,'name':'sole','sex':'male'}

dic1['age'] = 21

print(dic1)

dic1 = {'age':18,'name':'jin','sex':'male'}

dic2 = {'age':18,'name':'jin','weight':150}  #必须需要两个字典

dic2.update(dic1)    # 将dic1所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中

print(dic2)

 

字典的查

dic1 = {'age':18,'name':'sole','sex':'male'}

dic1.keys()       #查询时,相当一个列表的操作与

print(dic1)

dic1.values()       #

print(dic1)

dic1.items()         #元组,里面是键值 dict_items类型,可迭代的

print(dic1)

v1 = dic1['name']        #没有值就报错

print(v1)

dic1.get('name1')        #不报错,返回None

print(dic1)

字典的循环

for i in dic1:                #默认打印keys   dic1 相当于 dic1.keys,输出的是键

print(i)

for i in dic1:                #输出的是 值

print(i)

for k,v in dic1.items():   #输出的是 键 值

print(k,v)

 

字典的嵌套

dic = {                                           #字典的嵌套
    'name':['sole','memory','fucker'],         #字典里面设置第一个列表
    'j9':{                                        #嵌套一个字典
        'time':'0525',
        'learn_money':30000,
        'address':'CBD',
        },
        'hobbie':'game'
    }
dic['hobbie'] = 'music '                        #修改字典里面的爱好
dic['name'].append('xiao')                   #字典里面的变量增加一个元素
dic['name'][2] = dic['name'][2].upper()     #字典里面第三个元素变成大写
dic['j9']['female'] = 4                      #在嵌套的字典里面添加一个键值对

 

posted on 2017-12-20 13:56  Kindergarten_Panda  阅读(254)  评论(0编辑  收藏  举报