一、什么是字典

  dict 用{}表示,用来存放键值对数据

  {key:value}

  键:具有唯一性,不能重复,不可变

    必须是可哈希的(不可变的数据类型)

    字典是无序的,没有索引

  值: 没有任何限制

  

     已知的可哈希(不可变)的数据类型:int,str,bool,tuple

 

     不可哈希(可变)的数据类型:list,dict,set

 

     语法:{key1 : value1 , key2 : value2 … }

 

 

 

python字典的键的值可变吗 python字典键值类型_数据类型

 

二.字典的增/删/改/查

   2.1增

   dic['key'] = value新增.如果键存在于字典中,则强制修改

   #当这个键没在字典中就是添加

   setdefult(key,value)如果键在字典中存在,则不进行任何操作,不存在则进行添加

python字典的键的值可变吗 python字典键值类型_python字典的键的值可变吗_02

 

 2.2删

  pop(key)通过键删除,返回被删除的值

  del dic[key]  没有返回值

  dic.clear()   清空字典

  dic.popitem()  随机删除,返回一个元组(key,value)

  



dic = {"jay":"who","i":"wang","zhao":"jie","niu":"li"}
    ret = dic.pop("jay")  #pop有返回值,返回被删除的value值
    print(ret)  #结果为:who
    del dic["i"]
    print(dic)
    ret = dic.popitem()  # 随机删除,返回一个元组(删除的key , 删除的value),可以用解构 k , v = dic.popitem()
    print(ret)   #结果为:('niu', 'li')
    print(dic)  # 清空字典



 

 

  2.3改

  

字典的修改操作有:dic[key] = value,dic.update(),具体如下示例代码:

 

python字典的键的值可变吗 python字典键值类型_数据类型_03

 

 

  2.4查

  for 循环 默认获取字典中的键

  dic[key] 通过键查询,查不到会报错

  dic.get(key)  查不到时候返回None

  setdefault(key)  没有返回值

 

python字典的键的值可变吗 python字典键值类型_元组_04

 

 

  

三、字典中独特的操作方法

  keys    values    items

  dic.keys()   得到一个高仿列表,可迭代。获取到字典中的每一个键

  dic.values  获取字典中的每一个值,得到一个仿真列表

  dic.items      获取到所有的键值对以元组的形式存在一个高仿的列表中;

字典的修改操作有:dic[key] = value,dic.update(),具体如下示例代码:

 

print(dic.keys())  # (高仿列表)
    print(dic.values())  # (高仿列表)
    print(dic.items())
    for i in dic.keys():
        print(i)
 
    for i in dic:
        print(i)     #获取到字典中的每一个键
 
    for i in dic.values():
        print(i)     #获取到字典中的每一个值
 
    for i in dic.items():
        print(i)       #获取到字典中的每一个键值对

 

 

python字典的键的值可变吗 python字典键值类型_python_05

 

四、解构(解包)

 

a,b = '12'   #将后边解构打开按位置赋值给变量 支持  字符串 列表 元组
    print(a)
    print(b)
    dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
    for a,b in dic.items():
        print(a)
        print(b)
 
 
    dic1 = {}
 
    dics = dic1.fromkeys([1,2,3],'abc')

 

五、字典的嵌套
  与列表的嵌套相似,一层一层看。

 

dic = {
    'name':'汪峰',
    'age':43,
    'wife':{
        'name':'国际章',
        'age':39,
        'salary':100000
    },
    'baby':[
        {'name':'熊大','age':18},
        {'name':'熊二','age':15},
    ]
}
dic['baby'][0]['age'] = 19
print(dic)

python字典的键的值可变吗 python字典键值类型_数据类型_06

python字典的键的值可变吗 python字典键值类型_键值对_07