欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python基础---字典

程序员文章站 2022-05-03 08:06:24
...

1.字典定义

数据类型分为可变类型和不可变类型

类型 相关数据类型 s是否哈希
可变类型 list 、dict 、set 不可哈希
不可变类型 str 、tuple(元组)、 bool 、int 可哈希

字典(dict)是一种key value 无序的数据类型:
key 必须是不可变得数据类型 一般字符即可
value 可以任何种数据类型

2.字典相关操作

  • 取值

    #取值有dict['key']、dict.get("key"),dict.setdault('key')三中方法
    
    dict={
        'name':'xiaojing',
        'sex':'boy',
        'hobby': ['girl', 'movie', 'cycling'],
    }
    print(dict['hobby'])# ['girl', 'movie', 'cycling']
    print(dict['hobby'][0])#girl
    print(dict['name'])#xiaojing
    print(dict['name1'])#不存在该key会报错
    name=dict.get("name1",'false')#默认找不到会返回None,可以修改返回值,此处改为false
    print(name) #false
    
    
    dict={
        'name':'xiaojing',
    }
    print(dict.setdefault('name','LaoWang'))  #xiaojing
    print(dict.setdefault('name1','LaoWang'))  #LaoWang
    print(dict) #{'name': 'xiaojing', 'name1': 'LaoWang'}
    #setdefault获取不存在的键值时会往字典添加改键
    
  • 增加

    #增加有直接键值对增加、dict.setdefault(key,value)
    
    dict={
        'name':'xiaojing',
        'sex':'boy',
        'email':'[email protected]'
    }
    
    dict['telephone']='15099818848' #没有该键则创建该键值对
    dict['sex']='girl'  #已存在该键值对则覆盖
    print(dict)#{'name': 'xiaojing', 'sex': 'girl', 'email': '[email protected]', 'telephone': '15099818848'}
    
    dict.setdefault('email','[email protected]')#setdefault如果key已经存在则不修改该值
    print(dict['email'])#[email protected]
    
  • 删除

    dict={
        'name':'xiaojing',
        'sex':'boy',
        'email':'[email protected]'
    }
    ret=dict.pop('sex1','false')
    if ret=='false':
        print('没有此键,返回值为:'+ret)
    else:print(ret)
        
    #pop(key,None) 删除成功则返回value,失败则返回None,None可以省略也可以修改,如上面改为'false'
    
  • 更新

    #更新cookie时用到
    
    dict={
        'name':'xiaojing',
        'sex':'boy'
    }
    dict1={
        'sex':'girl',
        'email':'[email protected]'
    }
    dict.update(dict1)
    print(dict)#{'name': 'xiaojing', 'sex': 'girl', 'email': '[email protected]'}
    
    #dict1.update(dict2)用dict2去更新dict1,存在相同key值时则更新value值,不存在key时则创建
    
  • 查找

    #dict.keys()     dict.values()     dict.items()   
    
    dict={
        'name':'xiaojing',
        'sex':'boy'
    }
    
    print(dict.keys())#dict_keys(['name', 'sex']) 返回列表对象
    print(dict.values())#dict_values(['xiaojing', 'boy']) 返回列表对象
    print(dict.items())#dict_items([('name', 'xiaojing'), ('sex', 'boy')]) 返回以元组为元素的列表对象
    
    for key in dict.keys():
        print(key)#name  sex
    for key,value in dict.items():
        print(key,value)  #name xiaojing      sex boy
    
  • 字典嵌套

    dict={
        'studentID':'201641402319',
        'msg':{
            'name':'xiao jing',
            'age':23,
            'sex':'boy'
        }
    }
    
    name=dict.get('msg').get('name').title()  #先找到内容,再进行操作
    print(name)#Xiao Jing
    
  • 分别赋值

    a=1
    b=2
    a,b=b,a   #一行代码同时交换a b的值
    print(a,b)#2 1
    
    a,b=['c','d'],['e','f']
    print(a,b)  #['c', 'd'] ['e', 'f']
    a,b=(1,2)   #分别赋值,自动识别右边最小元素,然后分别赋值
    print(a,b)#1 2
    
相关标签: 字典

上一篇: 集合、map的了解

下一篇: 字典