zoukankan      html  css  js  c++  java
  • python8

    v>

    软件测试
    广州博才科技开发有限公司
    迅捷PDF编辑器
    3.4 字典
    学习目标:
    1. 能够说出如何定义一个字典
    2. 能够说出字典和列表的区别
    3. 能够说出如何使用 for 循环来遍历列表中的键、值和键值对
    4. 能够说出字典键和值的特点
    列表中存储的元素都值, 在列表中根据某个关键字去查找数据效率较低. 为了解决该方面的问题, Python 提供了字典
    这种容器类型, 字典中存储的每一个元素都是键值对, 并且在字典中根据键(关键字)去查找某个元素的效率非常高.
    为了实现高的查询效率, 字典被实现成了一种非序列式容器, 也就导致字典无法根据索引获得元素, 同样也不支持切
    片操作.
    3.4.1 字典语法格式
    字典是另一种可存储任意类型对象. 字典中的每一个元素都是一个 "键值对", 键值之间用冒号(:)分割, 每个字典元素
    (键值对)之间用逗号(,)分割, 整个字典包括在花括号 {} 中, 格式如下所示:
    my_dict = {key1: value1, key2: value2, key3: value3}
    字典键和值的特点:
    1. 键一般是唯一的, 如果重复最后的一个键值对会替换前面的, 键的类型一般情况下使用字符串、数字类型. 2. 值
    不需要唯一, 可以为任何的数据类型.
    3.4.2 字典操作
    3.4.2.1 访问元素
    字典中根据键获得值的操作, Python 提供了两种方式:
    1. 直接通过键来获得, 但当键不存在时, 会抛出错误.
    2. 通过 get 方法来根据键获得值, 如果键不存在则会返回 None, 该返回默认值也可自定义.
    person = {'name': 'Obama', 'age': 18, 'sex': '男'}
    # 如果 key 不存在会报错
    print(person['name'])
    # 如果 key 不存在可设置默认值
    print(person.get('gender', 'default'))
    3.4.2.2 添加和修改元素
    在字典中修改元素, 直接通过键来修改即可. 这时需要注意, 如果键不存在, 默认为新增元素操作, 只有键存在时, 才
    为修改操作.
    person = {'name': 'Obama', 'age': 18, 'sex': '男'}
    # 如果 key 不存在则为添加新元素
    55软件测试
    广州博才科技开发有限公司
    迅捷PDF编辑器
    person['salay'] = 12000
    # 如果 key 存在则为修改元素
    person['age'] = 20
    3.4.2.3 删除元素
    Python 中字典中元素的删除, 需要根据键来进行, 我们可以使用 pop 方法根据 key 来删除字典中的元素.
    person = {'name': 'Obama', 'age': 18, 'sex': '男'}
    # 删除某个元素
    person.pop('name')
    # 清空字典
    person.clear()
    3.4.2.4 遍历元素
    由于字典是非序列式容器, 无法通过逐个获取元素, 所以遍历字典的方式就是先将字典转换成类似列表的形式, 再对
    其进行遍历. 在获得字典的列表时, 我们有以下三个方案:
    1. 获得字典键的列表, 通过字典的 keys 方法.
    2. 获得字典值的列表, 通过字典的 values 方法.
    3. 获得字典的键值对列表, 通过字典的 items 方法.
    person = {'name': 'Obama', 'age': 18, 'sex': '男'}
    # 获得字典的值列表
    print(person.values())
    # 获得字典的键列表
    print(person.keys())
    # 获得字典的键值对列表
    print(list(person.items()))
    for key, value in person.items():
    print(key, value)
    3.4.3 小结
    1. 字典通过一对花括号 "{}" 来定义, 每一个元素都是一个键值对.
    2. 字典不支持索引、切片操作.
    3. 字典根据键查询元素的效率非常高.
    4. 字典的键一般情况下是数字、字符串等, 键必须唯一不重复.
    5. 字典的值可以重复, 任意类型.
    6. for 循环无法直接遍历字典, 需要先将字典转换为类似列表那样能够被迭代的类型.
    7. 字典的 get 方法可以根据键获得值, 如果键不存在返回默认值.
    8. 字典的 pop 方法可以根据键来删除字典中某个元素.
    9. 字典的 clear 方法可用来清空字典.
    10. 字典的 keys 方法可以返回一个由字典的键组成的列表.
    11. 字典的 values 方法可以返回一个由字典的值组成的列表.
    12. 字典的 items 方法将每一个键值对存放到元组中, 然后将元组列表返回.
    56
    没有不会的技术,只有你想不到的技术。。。。。。。。。。。。。。
  • 相关阅读:
    SQL查询,所有的客户订单日期最新的前五条订单记录。
    session的原理
    @RequestMapping 注解用在类上面有什么作用?
    事务的概念,在JDBC编程中处理事务的步骤
    .Redis优势
    Spring框架中都用到了哪些设计模式?
    redis
    你为什么觉得自己能够在这个职位上取得成就?
    怎样理解团队?请举例并说明启示。
    物质待遇和工作条件是人们选择工作的重要因素之一,这次报考谈一谈你在选择工作时都考虑哪些因素?为什么?
  • 原文地址:https://www.cnblogs.com/zenghongfei/p/11480541.html
Copyright © 2011-2022 走看看