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 """
原文地址:https://www.cnblogs.com/zizaijiapu/p/10137544.html