• python常用数据结构-字典


    dict字典

    字典定义与使用

    字典的定义

    字典是无序的键值对集合

    字典用大括号{}包围

    每个键/值对之间用一个逗号分隔

    各个键与值之间用一个冒号分隔

    字典是动态的

    字典使用:创建

    创建字典

    --使用大括号填充键值对

    --通过构造方法dict()

    --使用字典推导式

    1. # 创建字典
    2. # --使用大括号填充键值对
    3. a = {"name": "happy", "age": 18}
    4. print(type(a), a)
    5. # --通过构造方法dict()
    6. b = dict()
    7. print(type(b), b)
    8. c = dict([("name", "happy"), ("age", 18)])
    9. print(type(c), c)
    10. # --使用字典推导式
    11. d = {i: j for i, j in [("name", "happy"), ("age", 18)]}
    12. print(type(d), d)

     

    字典使用:访问元素

    访问元素

    --与字典也支持支持中括号记法[key]

    --字典使用键来访问其关联的值

    --访问时对应的key必须要存在

    1. # 访问元素
    2. # --与字典也支持支持中括号记法[key]
    3. # --字典使用键来访问其关联的值
    4. # --访问时对应的key必须要存在
    5. a = {"name": "happy", "age": 18}
    6. print(a["name"])

     

    字典使用:操作元素

    语法:dict[key]=value

    添加元素

    --键不存在

    修改元素

    ---键已存在

    1. # 语法:dict[key]=value
    2. # 添加元素
    3. # --键不存在
    4. # 修改元素
    5. # ---键已存在
    6. a = {"name": "happy", "age": 18}
    7. a["name"] = "lucky"
    8. print(a)
    9. a["sex"] = "man"
    10. print(a)

     

    字典使用:嵌套字典

    嵌套字典

    字典的值可以是字典对象

    1. # 嵌套字典
    2. # 字典的值可以是字典对象
    3. a = {'name': {'lucky': 5, "happy": 6}, 'age': 18, 'sex': 'man'}
    4. print(a['name']["lucky"])
    5. a['name']["lucky"] = 10
    6. print(a)

     

    字典常用方法

    keys()

    keys()

    返回由字典键组成的一个新视图对象

    入参:无

    返回

    1. # 字典常用方法
    2. # keys()
    3. # 返回由字典键组成的一个新视图对象
    4. # 入参:无
    5. # 返回:
    6. a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
    7. print(a.keys())
    8. print(list(a.keys()))

     

    values()

    values()

    返回由字典值组成的一个新视图对象

    入参:无

    返回:

    1. # values()
    2. # 返回由字典值组成的一个新视图对象
    3. # 入参:无
    4. # 返回:
    5. a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
    6. print(a.values())
    7. print(list(a.values()))

     

    items()

    values()

    返回由字典项((键,值)对)组成的一个新视图对象

    入参:无

    返回:

    1. # items()
    2. # 返回由字典项((键,值)对)组成的一个新视图对象
    3. # 入参:无
    4. # 返回
    5. a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
    6. print(a.items())
    7. print(list(a.items()))

     

    get()

    get(key)

    获取指定key关联的value值

    入参:key:字典的键,必传

    返回:

    --如果key存在于字典中,返回key关联的value值。

    --如果key不存在,则返回None

    此方法的好处是无需担心key是否存在,永远都不会引发KeyError错误。

    1. # get(key)
    2. # 获取指定key关联的value值
    3. # 入参:key:字典的键,必传
    4. # 返回:
    5. # --如果key存在于字典中,返回key关联的value值。
    6. # --如果key不存在,则返回None
    7. # 此方法的好处是无需担心key是否存在,永远都不会引发KeyError错误。
    8. a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
    9. print(a.get("name"))
    10. print(a.get("cc"))

     

    update()

    update(dict)

    使用来自dict的键/值对更新字典,覆盖原有的键和值

    入参:字典对象,必传

    返回:None

    1. # update(dict)
    2. # 使用来自dict的键/值对更新字典,覆盖原有的键和值
    3. # 入参:字典对象,必传
    4. # 返回:None
    5. a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
    6. a.update({'name': 'happy', 'cc': 18})
    7. print(a)

     

    pop()

    pop(key)

    删除指定key的键值对,并返回对应value值

    入参:

    key:必传

    返回:

    --如果key存在于字典中,则将其移除并返回value值

    --如果key不存在与字典中,则会引发KeyError

    1. # pop(key)
    2. # 删除指定key的键值对,并返回对应value值
    3. # 入参:
    4. # key:必传
    5. # 返回:
    6. # --如果key存在于字典中,则将其移除并返回value值
    7. # --如果key不存在与字典中,则会引发KeyError
    8. a = {'name': 'lucky', 'age': 18, 'sex': 'man'}
    9. print(a.pop("sex"))
    10. print(a)

     

    字典推导式

    字典推导式:可以从任何以键值对作为元素的可迭代对象中构建出字典

    实例:给定一个字典对象{"a":1,"b":2,"c":3},找出其中所有大于1的键值对,同时value值进行平方运算。

    1. # 字典推导式:可以从任何以键值对作为元素的可迭代对象中构建出字典
    2. # 实例:给定一个字典对象{"a":1,"b":2,"c":3},找出其中所有大于1的键值对,同时value值进行平方运算。
    3. a = {"a": 1, "b": 2, "c": 3}
    4. b = {i: j ** 2 for i, j in a.items() if j > 1}
    5. print(b)

     

  • 相关阅读:
    javascript 进阶教程(02)
    CEF 桌面软件开发实战
    软件测试行业到底有没有前景和出路?2022辞职后涨薪5K+,凭什么?
    Resolume Arena 7.15.0(VJ音视频软件)
    ECCV 2022|文本图像分析领域再起波澜,波士顿大学联合MIT和谷歌提出全新多模态新闻数据集NewsStories
    Codeforces Round #833 (Div. 2)
    线程安全和synchronized关键字
    从0开始学习JavaScript--JavaScript中的集合类
    数据库到底应该如何存储密码?
    PID 控制理论
  • 原文地址:https://blog.csdn.net/weixin_50464533/article/details/126511049