day02.4-字典内置方法
字典——dict的定义:test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
特点:1. 字典是可迭代对象
2. 字典中元素是无序的,字典是可变数据类型
3. 字典中Key值不能重复,列表、元组、字典、集合等不能作为字典的Key值
任何数据类型都可以作为字典的Value值
1. 查看字典中指定Key值对应的Value值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
v1 = test[2]
v2 = test["k3"][2][0]
print(v1,v2)
"""
运行结果:True zi
结果分析:
查看字典中Key=2所对应的Value值,返回给变量v1
查看字典中Key="k3"所对应的Value值,并获取该Value中指定索引位置处的值,返回给变量v2
当指定Key值不存在时,运行后报错
"""
2. 查看字典中所有Key值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
for item in test.keys():
print(item)
"""
运行结果:
k1
2
k3
结果分析:依次输出字典中所有Key值
"""
3. 查看字典中所有Value值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
for item in test.values():
print(item)
"""
运行结果:
18
True
[11, 22, ('zi', 'zai')]
结果分析:依次输出字典中所有Value值
"""
4. 查看字典中所有Key-Value对值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
for item in test.items():
print(item)
"""
运行结果:
('k1', 18)
(2, True)
('k3', [11, 22, ('zi', 'zai')])
结果分析:以元组方式依次输出字典中所有Key-Value对值,
"""
5. 根据输入序列分别创建字典的Key值与Value值
test1 = dict.fromkeys(["k1",2,"k3"],(11,22,33))
test2 = dict.fromkeys(["k1",2,"k3"])
for item in test1.items():
print(item)
print("---"*20)
for item in test2.items():
print(item)
"""
运行结果:
('k1', (11, 22, 33))
(2, (11, 22, 33))
('k3', (11, 22, 33))
------------------------------------------------------------
('k1', None)
(2, None)
('k3', None)
结果分析:
两个输入序列分别作为字典的Key值和Value值,创建字典的Key-Value对
当Value值输入序列为空时,所创建字典Key-Value对中Value=None
"""
6. 获取字典中指定Key值对应的Value值。当Key值不存在时,返回指定值,默认值定值为None
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
v1 = test.get("k3")
v2 = test.get("k4",11111)
v3 = test.get("k4")
print(v1)
print(v2,v3)
"""
运行结果:
[11, 22, ('zi', 'zai')]
11111 None
结果分析:
获取字典中Key="k3"所对应的Value值
由于字典中不存在Key="k4",返回指定值11111,默认指定值为None
当Value值输入序列为空时,所创建字典Key-Value对中Value=None
"""
7. 设置字典中指定Key值对应的Value值。当Key值存在时,不重新设置Value值;当Key值不存在时,设置对应的Key-Value对值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
test.setdefault("k1",123)
print(test)
print("---"*20)
test.setdefault("k4",123)
print(test)
"""
运行结果:
{'k1': 18, 2: True, 'k3': [11, 22, ('zi', 'zai')]}
------------------------------------------------------------
{'k1': 18, 2: True, 'k3': [11, 22, ('zi', 'zai')], 'k4': 123}
结果分析:
字典中存在Key="k1"时,不重新设置其对应的Value值,字典元素保持不变
字典中不存在Key="k4"时,追加Key="K4"、Value=123的Key-Value对
"""
8. 更新字典中指定Key值对应的Value值。当Key值存在时,更新对应的Value值;当Key值不存在时,根据Key值添加对应的Key-Value对值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
test.update({"k1":123,"k4":456})
print(test)
"""
运行结果:{'k1': 123, 2: True, 'k3': [11, 22, ('zi', 'zai')], 'k4': 456}
结果分析:
字典中存在Key="k1"时,更新其对应的Value值为123,字典其余元素保持不变
字典中不存在Key="k4"时,追加Key="K4"、Value=456的Key-Value对
"""
9. 拷贝字典中元素
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
v = test.copy()
print(v)
"""
运行结果:{'k1': 18, 2: True, 'k3': [11, 22, ('zi', 'zai')]}
结果分析:将字典test中所有元素拷贝并赋值给v
"""
10. 删除字典中指定Key值对应的Key-Value对,并返回该Key值对应的Value值;当Key值不存在时,返回指定值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
v1 = test.pop("k1")
print(test)
print(v1)
print("--"*20)
v2 = test.pop("k10",11111)
print(test)
print(v2)
"""
运行结果:
{2: True, 'k3': [11, 22, ('zi', 'zai')]}
18
----------------------------------------
{2: True, 'k3': [11, 22, ('zi', 'zai')]}
11111
结果分析:
删除字典中Key="k1"对应的Key-Value对,并返回Value值给v1
当字典中不存在Key="k10"时,字典元素保持不变,返回指定值11111给v2
"""
11. 随机删除字典中某一Key值对应的Key-Value对,并返回该Key值及其对应的Value值
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
k,v = test.popitem()
print(test)
print(k,v)
"""
运行结果:
{'k1': 18, 2: True}
k3 [11, 22, ('zi', 'zai')]
结果分析:随机删除字典中某一Key值对应的Key-Value对,并返回该Key值及其对应的Value值
"""
12. 清空字典中所有元素
test = {"k1":18,2:True,"k3":[11,22,("zi","zai")]}
test.clear()
print(test)
"""
运行结果:{}
结果分析:清空字典中所有元素,得到一个空白字典
"""
day02.4-字典内置方法的更多相关文章
- python 字典内置方法get应用
python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...
- python 数据类型元组与字典内置方法
1.元组 (1)元组是不可变的列表,能存多个值:如果多个值只有取得需求,没有改的需求,用元组最合理 (2)定义:在()内用逗号隔开,可以存任意类型的值 注意:当元组只有一个元素时,要在后面加逗号 # ...
- day08整理(周总结\列表\字典内置方法)
一.周总结 一 计算机基础之编程 1.什么是编程语言 编程是人与计算机交流的介质 2.什么是编程 通过编程语言写一堆文件 3,为什么编程 取代劳动力,帮人类干活 二 计算机组成 1.CPU 控制器 控 ...
- Day 08 可变与不可变对象/列表与字典内置方法
目录 可变对象与不可变对象 可变对象 不可变对象 列表的内置方法 字典内置方法 可变对象与不可变对象 可变对象 对象指向的内存中的值会改变,当更改这个变量的时候,还是指向原来内存中的值,并且在原来的内 ...
- python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍
对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 # python3.x dir(int) # ['__a ...
- Python字典内置方法
Python字典包含了以下内置方法: 序号 函数及描述 1 radiansdict.clear()删除字典内所有元素 2 radiansdict.copy()返回一个字典的浅复制 3 radiansd ...
- python中的字典内置方法小结
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- #key-value #dict 无序,无下标,不需要下标,因为有key stu={ 'stu001': ...
- Python基础之字典内置方法
目录 1. 字典 1.1 字典的作用 1.2 创建和使用字典 1.2.1 dict类 1.2.2 基本的字典操作 1.2.3 字典方法 1. 字典 映射:可以通过名称来访问其各个值的数据结构. 字典是 ...
- day02.2-列表内置方法
列表——list的定义:test = [1,12,9,"age",["zizai","jiapu"],"alex"] 特 ...
- day02.5-集合内置方法
集合——set的定义:test = {1,2,3,4,5} 或 test = frozenset(1,2,3,4,5) 特点:1. 集合是可变数据类型 2. 集合中元素是无序的,可以是数字.字符串与元 ...
随机推荐
- RimLight(轮廓光) - Shader
[RimLight(轮廓光) - Shader] RimLight指的是物体的轮廓光.效果如下: 轮廓光的强度通过 1.0 - dot(normal, eye_vector)来计算.使用这个公式,则指 ...
- Nginx源码完全注释(7)ngx_palloc.h/ngx_palloc.c
ngx_palloc.h /* * NGX_MAX_ALLOC_FROM_POOL should be (ngx_pagesize - 1), i.e. 4095 on x86. * On Windo ...
- 机器学习模型数据结构:logistic regression, neural network, convolutional neural network
可以用两种方式来看神经网络,一种就是层的集合,也就是层组成的数组,另一种是神经元的集合,也就是神经元组成的Graph. 基于神经元的实现方式中,需要定义两个类 Neuron, Weight Neuro ...
- Python中super详解
转至:https://mozillazg.com/2016/12/python-super-is-not-as-simple-as-you-thought.html 说到 super, 大家可能觉得很 ...
- [erlang 001] erlang中的错误及异常处理
一. erlang中的错误 1. 分类 1) 编译错误:主要是编译器检测出的代码语法错误: 2) 逻辑错误:是指程序没有完成预期的工作,属于开发人员的问题: 3) 运行时错误:是指erlang运行时抛 ...
- CloudStack 注册模板脚本分析
注册系统虚拟机模板 /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt 内容如下: usage ...
- code1796 社交网络
输入描述 Input Description 输入文件中第一行有两个整数,n 和 m,表示社交网络中结点和无向边的数 目.在无向图中,我们将所有结点从 1 到 n 进行编号. 接下来 m 行,每行用三 ...
- [SoapUI] Loop a test with different sets of data
- mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明
mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明 摘自:https://blog.csdn.net/weixin_43025071/article/ ...
- ubuntu14.04下安装qt5
1.sudo apt-get install build-essential 2.先打开终端快捷键ctrl+t 3. 然后输入: sudo apt-get install cmake qt5-defa ...