zoukankan      html  css  js  c++  java
  • 字典

    列表和字典区别

    • 列表:强调整体,记录整体的某一个特征

    • 字典:强调个体,记录个体的多个特征。

    (一)基本概念

    特定:可变类型,元素以键值(key-value)对形式存在,用大括号包围的一种类型。

    格式:字典名 = {key1:value1,key2:value2,...}

    注意:

    • key:不可变类型,唯一的。
    # d1 = {'a':10}
    # d2 = {10:10}
    # d3 = {1.4:10}
    # d4 = {True:10}
    # d5 = {[1,2]:10}  # 错误
    # d6 = {(1,2):10}
    d7 = {{1:1}:10}  # 错误
    
    • value:真正保存的数据,没有任何限制。
      创建字典:
    d1 = {}  # 空字典
    d2 = dict()  # 空字典
    
    zs = {'name':'zs',"age":20,'height':170,"weight":170}
    ls = {'name':'ls',"age":23,'height':180,"weight":70}
    

    ( 二 )字典的特有方法

    1 增加
    • 字典名[key] = value:键不存在,将键值对添加到字典最后;如果key存在,则覆盖
    • setdefault(key,default_value):键不存在,将键值对添加到字典最后。如果key存在,则不覆盖。
    zs = {'name':'zs',"age":20,'height':170}
    
    # 增加键值对:weight
    # zs['weight'] = 70
    # zs['weight'] = 80   # 覆盖掉原值
    # print(zs)
    
    # 增加键值对:weight
    zs.setdefault('weight',70)
    # zs.setdefault('weight',80)   # 不覆盖,
    zs.setdefault('name','ls')   # 不能修改
    print(zs)
    
    2 删除
    方法 描述
    pop(key) 弹出,返回并删除指定键对应的值, dict.pop(‘key’)
    popitem() 弹出最后一个键值对(>=3.7)
    clear() 清空字典
    del 删除整个字典,或者通过字典的key删除对应键值对;
    zs = {'name':'zs',"age":20,'height':170}
    
    # pop(key)  # 返回删除的值
    # print(zs.pop('age'))
    
    # popitem() # 返回删除的键值对
    print("张三的重量是:",zs.popitem()[1])  
    print(zs)
    
    # del3
    del zs  # 删除整个zs变量
    del zs['name']  # 删除name键值对
    
    # clear()
    zs.clear()  # 清空字典
    
    3 修改
    方法 描述
    字典名[key]=value 通过key 添加value值,如果key存在则覆盖
    update(dict) 传递一个字典,如果key相同则覆盖,没有的key则添加
    zs_1 = {'name':'zs',"age":20,'height':170}
    zs_2 = {"name":'zs','weight':60,"age":30}
    
    # zs_1.update(zs_2)
    # print(zs_1)  # {'name': 'zs', 'age': 30, 'height': 170, 'weight': 60}
    # print(zs_2)  # 没有变化
    
    zs_2.update(zs_1)
    print(zs_1)  # 没有变化
    print(zs_2)  # {'name': 'zs', 'weight': 60, 'age': 20, 'height': 170}
    
    4 查
    方法 描述
    根据key查找 通过指定的key找对应的值 dict[‘key’]
    keys() 获取字典所有的键
    values() 获取字典所有的值
    items() 获取字典所有的键值对

    注意:keys,values,items获得的类型不是列表,但是是可迭代对象,可以直接使用for循环遍历,如果需要按照列表方式操作,需要先转化为列表。

    zs = {'name':'zs',"age":20,'height':170}
    
    for i in zs.keys():
        print(i)   # 打印所有的键
        
    for i in zs.values():
        print(i)  # 打所有的值
        
    for i in zs.items():
        print(i)  # 打印所有的键值对(元组形式)
        
        
    # 直接遍历字典,相当与遍历所有的键
    for i in zs:
        print(i)  # 打印所有的键
    

    (三)其他操作

    1 get(key,[返回的信息]): 以键取值,如果指定键不存在,默认返回None,可以指定返回内容

    zs = {'name':'zs',"age":20,'height':170}
    
    # print(zs['name'])  # zs
    # print(zs['hometown'])  # 报错
    
    # 使用get解决
    print(zs.get('name',"没有找到"))   # zs
    print(zs.get('hometown',"郑州"))  # 不报错,返回自定义信息
    

    2 in , not in

    zs = {'name':'zs',"age":20,'height':170}
    
    # print(zs['name'])  # zs
    # print(zs['hometown'])  # 报错
    
    # 判定
    if 'hometown' in zs:
        print(zs['hometown'])  
    
  • 相关阅读:
    减少mysql存储列的方法
    Installation of Munin node/master ¶
    they're hiring
    减少mysql存储列的方法
    linux munin 服务器监控 安装配置«海底苍鹰(tank)博客
    用C写apache模块编译教程(经验证)
    SDUT——Kbased Numbers
    【人在运维囧途_06】 借助 sniffer 诊断 Linux 网络故障
    iOS 企业证书发布app 流程
    警告: 隐式声明与内建函数‘exit’不兼容
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/14075655.html
Copyright © 2011-2022 走看看