• Python3-笔记-B-002-数据结构-字典dict{ }



    def dics():
    # --- 字典 ----
    # 创建(由 键值对(key:value) 组成)
    dics = {1: "a", 2: "b", 3: "c"}
    dics = dict() # 创建空字典
    dics = dict([(1, "a"), (2, "b")]) # (序列)转为字典 (列表序列: dict([[1, "a"], [2, "b"]]); 元组列表: dict(((1, "a"), (2, "b"))))
    dics = dict(a=1, b=2) # (: 格式固定, 字母 = 数字, 字母不能加") # => {'a': 1, 'b': 2}
    dics = {chr(x): x for x in range(65, 80)}

    # 获取
    dics = {1: "a", 2: "b", 3: "c"}
    strs = dics[1] # keyvalue, 没有对应key时抛异常(注意)
    strs = dics.get(1) # key获取value
    strs = dics.get(5, -1) # -1 为没有该key的返回
    strs = dics.setdefault(50) # keyvalue, key不存在则添加,valueNone
    strs = dics.setdefault(12, -1) # -1为不存在key,添加的value-1 {1: 'a', 2: 'b', 3: 'c', 50: None, 12: -1}
    keys = dics.keys() # 所有key, dict_keys([1, 2, 3, 50, 12])
    values = dics.values() # 所有value, dict_values(['a', 'b', 'c', None, -1])
    kevaList = dics.items() # 获取(key,value)列表,格式为[(key1, value1), (key2, value2)], dict_items([(1, 'a'), (2, 'b'), (3, 'c'), (50, None), (12, -1)])
    dics2 = dics.copy() # 浅拷贝
    dics3 = dics.fromkeys(dics) # 根据字典所有key创建新字典,valueNone, {1: None, 2: None, 3: None, 50: None, 12: None}
    dics4 = dics.fromkeys(dics, -1) # -1为创建的新字典,value-1, {1: -1, 2: -1, 3: -1, 50: -1, 12: -1}

    # 查找
    key = min(dics) # 最小键
    key = max(dics) # 最大键
    # 添加
    dics.update({4: "d", 5: "f"}) # 添加字典 {1: 'a', 2: 'b', 3: 'c', 50: None, 12: -1, 4: 'd', 5: 'f'}


    # 修改
    dics[1] = "c" # {1: 'c', 2: 'b', 3: 'c', 50: None, 12: -1, 4: 'd', 5: 'f'}

    # 删除
    del dics[1] # 删除 键1 (注意)
    dics4.clear() # 清空
    strs = dics.pop(3) # 删除,返回被删的元素(注意:key同时删)
    strs = dics.pop(5, -1) # -1 为没有该key时的返回
    pul = dics.popitem() # 删除键值对,返回被删的元组(末尾起删)

    # 统计
    length = len(dics) # 字典长度

    # 判断
    boolean = 1 in dics # key是否在字典中存在
    boolean = 1 not in dics # key是否不在字典中存在


    # 遍历
    for key, value in dics.items():   
      print("key:%d value:%s" % (key, value))

    # 排序
    lists = sorted(dics) # :返回排序后的键列表
  • 相关阅读:
    iOS开发那些事-iOS6苹果地图有用开发
    Partition List -- LeetCode
    C++11:强类型枚举(enum)
    数据绑定(八)使用Binding的RelativeSource
    对于流程优化的处理器架构
    Linux/UNIX流程关系
    《炉石传说》建筑设计欣赏(6):卡&在执行数据时,组织能力
    采用truelicense进行Java规划license控制 扩展可以验证后,license 开始结束日期,验证绑定一个给定的mac住址
    [Linux]scp 命令远程复制
    从头开始编写项目Makefile(八):型号规则
  • 原文地址:https://www.cnblogs.com/vito13/p/7729951.html
Copyright © 2020-2023  润新知