• day02.4-字典内置方法


    字典——dict的定义:test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}

    特点:1. 字典是可迭代对象

          2. 字典中元素是无序的,字典是可变数据类型

          3. 字典中Key值不能重复,列表、元组、字典、集合等不能作为字典的Key值

             任何数据类型都可以作为字典的Value值

    1. 查看字典中指定Key值对应的Value值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 v1 = test[2]
     3 v2 = test["k3"][2][0]
     4 print(v1,v2)
     5 """
     6 运行结果:True zi
     7 结果分析:
     8     查看字典中Key=2所对应的Value值,返回给变量v1
     9     查看字典中Key="k3"所对应的Value值,并获取该Value中指定索引位置处的值,返回给变量v2
        当指定Key值不存在时,运行后报错
    10 """

    2. 查看字典中所有Key值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 for item in test.keys():
     3     print(item)
     4 """
     5 运行结果:
     6     k1
     7     2
     8     k3
     9 结果分析:依次输出字典中所有Key值
    10 """

    3. 查看字典中所有Value值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 for item in test.values():
     3     print(item)
     4 """
     5 运行结果:
     6     18
     7     True
     8     [11, 22, ('zi', 'zai')]
     9 结果分析:依次输出字典中所有Value值
    10 """

    4. 查看字典中所有Key-Value对值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 for item in test.items():
     3     print(item)
     4 """
     5 运行结果:
     6     ('k1', 18)
     7     (2, True)
     8     ('k3', [11, 22, ('zi', 'zai')])
     9 结果分析:以元组方式依次输出字典中所有Key-Value对值,
    10 """

    5. 根据输入序列分别创建字典的Key值与Value值

     1 test1 = dict.fromkeys(["k1",2,"k3"],(11,22,33))
     2 test2 = dict.fromkeys(["k1",2,"k3"])
     3 for item in test1.items():
     4     print(item)
     5 print("---"*20)
     6 for item in test2.items():
     7     print(item)
     8 """
     9 运行结果:
    10     ('k1', (11, 22, 33))
    11     (2, (11, 22, 33))
    12     ('k3', (11, 22, 33))
    13     ------------------------------------------------------------
    14     ('k1', None)
    15     (2, None)
    16     ('k3', None)
    17 结果分析:
    18     两个输入序列分别作为字典的Key值和Value值,创建字典的Key-Value对
    19     当Value值输入序列为空时,所创建字典Key-Value对中Value=None
    20 """

    6. 获取字典中指定Key值对应的Value值。当Key值不存在时,返回指定值,默认值定值为None

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 v1 = test.get("k3")
     3 v2 = test.get("k4",11111)
     4 v3 = test.get("k4")
     5 print(v1)
     6 print(v2,v3)
     7 """
     8 运行结果:
     9     [11, 22, ('zi', 'zai')]
    10     11111 None
    11 结果分析:
    12     获取字典中Key="k3"所对应的Value值
    13     由于字典中不存在Key="k4",返回指定值11111,默认指定值为None
    14     当Value值输入序列为空时,所创建字典Key-Value对中Value=None
    15 """

    7. 设置字典中指定Key值对应的Value值。当Key值存在时,不重新设置Value值;当Key值不存在时,设置对应的Key-Value对值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 test.setdefault("k1",123)
     3 print(test)
     4 print("---"*20)
     5 test.setdefault("k4",123)
     6 print(test)
     7 """
     8 运行结果:
     9     {'k1': 18, 2: True, 'k3': [11, 22, ('zi', 'zai')]}
    10     ------------------------------------------------------------
    11     {'k1': 18, 2: True, 'k3': [11, 22, ('zi', 'zai')], 'k4': 123}
    12 结果分析:
    13     字典中存在Key="k1"时,不重新设置其对应的Value值,字典元素保持不变
    14     字典中不存在Key="k4"时,追加Key="K4"、Value=123的Key-Value对
    15 """

    8. 更新字典中指定Key值对应的Value值。当Key值存在时,更新对应的Value值;当Key值不存在时,根据Key值添加对应的Key-Value对值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 test.update({"k1":123,"k4":456})
     3 print(test)
     4 
     5 """
     6 运行结果:{'k1': 123, 2: True, 'k3': [11, 22, ('zi', 'zai')], 'k4': 456}
     7 结果分析:
     8     字典中存在Key="k1"时,更新其对应的Value值为123,字典其余元素保持不变
     9     字典中不存在Key="k4"时,追加Key="K4"、Value=456的Key-Value对
    10 """

    9. 拷贝字典中元素

    1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
    2 v = test.copy()
    3 print(v)
    4 
    5 """
    6 运行结果:{'k1': 18, 2: True, 'k3': [11, 22, ('zi', 'zai')]}
    7 结果分析:将字典test中所有元素拷贝并赋值给v
    8 """

    10. 删除字典中指定Key值对应的Key-Value对,并返回该Key值对应的Value值;当Key值不存在时,返回指定值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 v1 = test.pop("k1")
     3 print(test)
     4 print(v1)
     5 print("--"*20)
     6 
     7 v2 = test.pop("k10",11111)
     8 print(test)
     9 print(v2)
    10 
    11 """
    12 运行结果:
    13     {2: True, 'k3': [11, 22, ('zi', 'zai')]}
    14     18
    15     ----------------------------------------
    16     {2: True, 'k3': [11, 22, ('zi', 'zai')]}
    17     11111
    18 结果分析:
    19     删除字典中Key="k1"对应的Key-Value对,并返回Value值给v1
    20     当字典中不存在Key="k10"时,字典元素保持不变,返回指定值11111给v2
    21 """

    11. 随机删除字典中某一Key值对应的Key-Value对,并返回该Key值及其对应的Value值

     1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
     2 k,v = test.popitem()
     3 print(test)
     4 print(k,v)
     5 
     6 """
     7 运行结果:
     8     {'k1': 18, 2: True}
     9     k3 [11, 22, ('zi', 'zai')]
    10 结果分析:随机删除字典中某一Key值对应的Key-Value对,并返回该Key值及其对应的Value值
    11 """

    12. 清空字典中所有元素

    1 test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
    2 test.clear()
    3 print(test)
    4 
    5 """
    6 运行结果:{}
    7 结果分析:清空字典中所有元素,得到一个空白字典
    8 """
  • 相关阅读:
    触摸屏测试:Tslib
    Ubuntu:我不小心把/var/lock文件夹给删了
    驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统
    驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器
    驱动开发学习笔记.0.00 从拿到一块开发板开始
    利用联合体通过串口收发浮点数
    stm32 MDK5软件仿真之查看io口输出
    ListView 类
    INotifyPropertyChanged 接口
    ItemsControl 类绑定数据库
  • 原文地址:https://www.cnblogs.com/zizaijiapu/p/10137544.html
Copyright © 2020-2023  润新知