字典知识总结

一:字典的特性

1,字典的键必须是唯一的

2,字典的键必须是不可变的数据类型,所以按照这个定位,字典的键可以是:字符串,数字,布尔值,元组。字典的键不可以是列表,因为,因为列表是不可变的

3,字典的value可以是任何数据类型

4,字典中的数据没有先后的顺序关系, 字典的存储是无序的

dic = {'name':'alex','age':9000}   #字符串
print(dic)

dic = {1:'a',2:'b',3:'c'}           #数字
print(dic)

dic = {True:'1',False:'0'}          #布尔值
print(dic)

dic = {(1,2,3):'abc'}                #元组
print(dic)

dic = {[1,2,3]:'abc'}
print(dic)
View Code

二:字典的增删改

1,字典中数据的增删改

#新增
1,直接赋值
dic['火女'] = '人头狗'   # 新增
print(dic)
2,使用setdefault()函数
#使用setdefault函数,程序会先在字典中查找此键,如果键不存在就直接赋值,添加一个新的键值对到字典中。如果键存在,就不做任何操作了
dic.setdefault('火女','安妮')  
dic.setdefault('火女','火男')
View Code
#

    ret = dic.pop('易大师')  #通过key删除  返回被删除的value
    print(ret)
    del dic['剑豪']
    dic.clear()   # {}

    ret = dic.popitem()   #随机删除  返回值 一个元组  (key,value)
    print(ret)
    print(dic)

# 改:
    dic['剑豪'] = '哈莎阁'   # 强制修改

    dic1 = {'火女':'安妮','火男':'布兰德','维恩':'暗影猎手','剑豪':'哈莎阁'}
    dic1.update(dic)

    print(dic1)

#查看
1,for循环查看
    for i in  dic:
        print(i)     #for 循环默认是获取字典中的键
   
2,中括号里写键值查看
print(dic['易大师父']) 
                  
3,get()方法查看, 没有返回None 可以指定返回内容
print(dic.get('易大师','你傻啊,没有!'))   

4,setdefault()查看1   没有这个键的时候查询会报错,字典中查看键是用的中括号,列表中查找的时候的括号是表示索引
print(dic.setdefault('易大师范湖'))        #查看    没有返回None
View Code

三:字典的其他操作,

1,取出字典所有的键(key)
dic = {'name':'alex','age':9000}
print(dic.keys())  # (高仿列表)

2,取出字典所有的value
print(dic.values())  # (高仿列表)


3,取出电子所有的键值对 (高仿列表中的元组)
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)
View Code

四:字典的解构(解包)

a,b = '12'   #将后边解构打开按位置赋值给变量 支持  字符串 列表 元组
print(a)
print(b)

a,b = [1,2]   #将后边解构打开按位置赋值给变量 支持  字符串 列表 元组
print(a)
print(b)


解构在后面的常用样例
dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
for a,b in dic.items():
    # print(dic.items())
    print(a)
    print(b)
View Code

五:字典的嵌套

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

}

#dic['baby'][0]['age'] = 19
a=dic.get('baby')[0].get('age')
print(a)
View Code

 

 

 

 

      

      

posted @ 2019-09-21 20:39  36*艳阳天  阅读(627)  评论(0编辑  收藏  举报