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. 集合中元素是无序的,可以是数字.字符串与元 ...
随机推荐
- 在Yii Framework中利用PHPMailer发送邮件(2011-06-02 14:06:23)
转载▼ 标签: it 分类: 技术共享 官方扩展链接:http://www.yiiframework.com/extension/mailer/这个扩展配置十分方便,如果有问题的话,可以打开Debug ...
- java算法 第七届 蓝桥杯B组(题+答案) 8.四平方和
8.四平方和 (程序设计) 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和.如果把0包括进去,就正好可以表示为4个数的平方和. 比如:5 = 0^2 + 0^2 + ...
- 3D数学基础 KeyNote 1
[计算几何复习要点] 1.向量加法的几何含意: a+b的释意为:a的尾连上b的头,新建一条从a的尾指向b的头的向量. 2.向量减法的几何含意: a-b的释意为:尾部相连,新建一个从b的头指向a的头的向 ...
- Java中的静态代理实现方式
1.编写一个接口类 如:Subject package com.neusoft.pattern.staticProxy; /** * <p>Title:</p> * <p ...
- udacity term_sim.x86_64 ubuntu16.04 Vmware
打印信息 ./term2_sim.x86_64 Set current directory to /home/mwolfram/udacity/sdcnd/term2/term2_sim_linux ...
- [SoapUI] Loop a test with different sets of data
- gitlab centos 安装配置运维笔记
写在前面 如果你需要一个git服务器,为企业或自己的团队托管代码而又不希望将代码仓库存储到第三方.你可以在自己的服务器上搭建一个gitlab. 本文为我在最初安装配置gitlab服务器的时候留存的笔记 ...
- diskpart setid value list
ntfs : 07 / 17 显示/隐藏 fat32: 0C / 1C 显示/隐藏 0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris 1 FAT12 27 隐藏的 ...
- 使用UrlRewriteFilter对url进行更替
一般来说,使用struts之后url的访问实际上访问的是action的地址,为了不让该地址暴露给别人,可以采用UrlRewriteFilter来对url进行重写. 首先,在web.xml里面配置: & ...
- java.lang.ClassCastException: com.liuyang.annocation.UserAction cannot be cast to com.liuyang.annocation2.UserAction at com.liuyang.annocation2.App.test
java.lang.ClassCastException: com.liuyang.annocation.UserAction cannot be cast to com.liuyang.annoca ...