zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C++11 vector使用emplace_back代替push_back
    Centos6.4 编译安装 nginx php
    Centos 编译安装nodejs&express框架
    zookeeper 入门(二)
    zookeeper 入门(一)
    Paxos算法1-算法形成理论[转载]
    yum只下载软件不安装的两种方法
    Centos 6.4 安装dnsmasq
    Centos 6.4 安装erlang&rabbitmq
    Centos 6.4 安装Python 2.7 python-pip
  • 原文地址:https://www.cnblogs.com/James-221/p/13650775.html
Copyright © 2011-2022 走看看