• Python字典


    字典

    一、字典的应用场景

    思考:如果有多个数据,例如:Tom,男,20,如何快速存储?

    答:列表

    list=['Tom','男',20]
    

    思考2:如何查找到数据'Tom'?

    答:查找到下标为0的数据即可

    list[0]
    

    思考3:如果将来顺序发生变化,如下所示,还能用list1[0] 访问到数据Tom吗?

    list1=['男',20,'Tom']
    

    答:不能,数据Tom此时下标为2

    思考4:数据顺序发生变化,每个数据的下表也会随之变化,如何保证数据顺序变化前后能使用同一的标准查找数据呢?

    答:字典,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只要按照对应的键的名字查找数据即可

    二、创建字典的语法

    字典特点:

    • 符号为大括号
    • 数据为键值对形式出现
    • 各个键值对之间用逗号隔开
    #有数据字典
    dict1={'naem':'Tom','age':20,'gender':'男'}
    
    # 空字典
    dict2={}
    
    dict3=dict()
    

    注意:一般冒号前面的的为键(key), 简称k;冒号后面的为值(value),简称V

    三、字典常见操作

    3.1 增

    写法:字典序列[key]=值

    注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对

    dict1={'name':'Tom','age':20,'gender':'男'}
    
    dict1['name']='Rose'
    print(dict1)
    # {'name': 'Rose', 'age': 20, 'gender': '男'}
    
    dict1['id']=110
    print(dict1)
    # {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
    

    注意:字典为可变类型

    3.2 删

    • del()/del: 删除字典或删除字典中指定的键值对
    dict1={'name':'Tom','age':20,'gender':'男'}
    del dict1['gender']
    print(dict1)
    # 结果:{'name': 'Tom', 'age': 20}
    
    • clear(): 清空字典
    dict1={'name':'Tom','age':20,'gender':'男'}
    # del dict1['gender']
    # print(dict1)
    # 结果:{'name': 'Tom', 'age': 20}
    
    # clear()
    dict1.clear()
    print(dict1)
    # 结果:{}
    

    3.3 改

    写法:字典序列[key]=值

    注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对

    3.4 查

    3.4.1 key值查找

    dict1={'name':'Tom','age':20,'gender':'男'}
    print(dict1.get('name'))    #Tom
    print(dict1['id'])  #报错
    

    如果当前查找的key存在,则返回对应的值;否则报错

    3.4.2 get()

    • 语法:
    字典序列.get(key,默认值)
    

    注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None

    • 示例:
    dict1={'name':'Tom','age':20,'gender':'男'} 
    print(dict1.get('name'))    #Tom      
    print(dict1.get('id',110))      #110  
    print(dict1.get('id'))       #None    
    

    3.4.3 keys()

    dict1={'name':'Tom','age':20,'gender':'男'}
    print(dict1.keys())    
    #dict_keys(['name', 'age', 'gender'])
    

    3.4.4 values()

    dict1={'name':'Tom','age':20,'gender':'男'}
    print(dict1.values())
    #dict_values(['Tom', 20, '男'])
    
    

    3.4.5 items()

    dict1={'name':'Tom','age':20,'gender':'男'}
    print(dict1.items())
    #dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
    

    四、字典的循环遍历

    4.1 遍历字典的key

    # 遍历字典的key
    dict1={'name':'Tom','age':20,'gender':'男'}
    for key in dict1.keys():
        print(key)
    
    

    image-20200911112914487

    4.2 遍历字典的value()

    # 遍历字典的value
    dict1={'name':'Tom','age':20,'gender':'男'}
    for value in dict1.values():
        print(value)
    

    image-20200911113150416

    4.3 遍历字典的元素

    # 遍历字典的元素
    dict1={'name':'Tom','age':20,'gender':'男'}
    for item in dict1.items():
        print(item)
    

    image-20200911113440008

    4.4 遍历字典的键值对

    # 遍历字典的键值对
    dict1={'name':'Tom','age':20,'gender':'男'}
    for key,value in dict1.items():
        print(f'{key}={value}')
    

    image-20200911113645857

  • 相关阅读:
    阿里巴巴校招内推简历筛选方案
    SIFT中的尺度空间和传统图像金字塔
    boost的编译
    H264与RTP
    link2001错误无法解析外部符号metaObject
    windows 7下qtcreator里QWT文件的pro配置
    电脑键盘上你所不知道的秘密,学会了很牛气!
    http://blog.csdn.net/chenriwei2/article/details/38047119
    Seaborn中的kdeplot、rugplot、distplot与jointplot
    8-Pandas扩展之Pandas提升性能的方法(eval()、query())
  • 原文地址:https://www.cnblogs.com/James-221/p/13650775.html
Copyright © 2020-2023  润新知