Python字典方法

字典也有方法,很有用,但其使用频率可能没有列表和字符串方法那样高。

1、clear 删除所有的字典项

d = {'key': 'value'}
d.clear()
print(d){}

2、copy 方法copy返回一个新字典,其包含的键值对与原来的字典相同(这各方法是浅复制,因为值本身是原件,而非副本)

x = {'username':'admin','machines': ['foo', 'bar', 'baz']}
y = x.copy()
y['username'] = 'mlh'
y['machines'].remove('bar')
print(x)
print(y){'machines': ['foo', 'baz'], 'username': 'admin'}
{'machines': ['foo', 'baz'], 'username': 'mlh'}

当替换副本中的值时,原字典不受影响,如果修改副本的值,原字典也随着改变,因为原字典指向的也是被修改的值

3、fromkeys 创建一个新字典,其中包含指定的键,且每个键对应的值都是None

d = dict.fromkeys(['name','age'])
print(d)
{'age': None, 'name': None}d = dict.fromkeys(['name1','name2'],'chengzi')
print(d)
{'name1': 'chengzi', 'name2': 'chengzi'}

4、get 访问字典key,获取value,使用get访问不存在的key时,不会引发异常,返回None

d = {'name': 'chengzi','age':20}
print(d.get('class'))
print(d.get('name'))
None
chengzi

5、items 返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式,字典在列表中的排列顺序不确定。返回值属于一种名为字典视图的特殊类型,可用于迭代。

d = {'name': 'chengzi','age':20}
print(d.items())
for key,value in d.items():print(key,value)dict_items([('name', 'chengzi'), ('age', 20)])
name chengzi
age 20

6、keys 返回一个字典视图,包含字典中的所有key,可用于迭代

d = {'name': 'chengzi','age':20}
print(d.keys())
for key in d.keys():print(key)
dict_keys(['age', 'name'])
age
name

7、pop 获取指定key对应的value,并将该key和value从字典中删除

d = {'name': 'chengzi','age':20}
print(d.pop('name'))
print(d)chengzi
{'age': 20}

8、setdefault 有点像get,如果指定的key存在,返回对应的value,指定的key不存在,将key和value添加更新到字典里

d = {'name': 'chengzi','age':20}
print(d.setdefault('name'))
print(d.setdefault('city','上海'))
print(d)chengzi
上海
{'age': 20, 'name': 'chengzi', 'city': '上海'}

9、update 使一个字典中的key和value更新另一个字典,对于通过参数提供的字典,将其key和value添加到当前字典中;如果当前字典包含相同的key,就更新替换它的value

d1 = {'name': 'chengzi','age':20}
d2={'city':'上海'}
d3={'age':30}
print(d1.update(d2))
print(d1)
print(d1.update(d3))
print(d1)None
{'city': '上海', 'name': 'chengzi', 'age': 20}
None
{'city': '上海', 'name': 'chengzi', 'age': 30}

10、values 返回一个由字典中的值组成的字典视图,不同于方法keys,方法values返回的视图可能包含重复的值

d = {'name': 'chengzi','age':20}
print(d.values())
for value in d.values():print(value)
dict_values(['chengzi', 20])
chengzi
20

9a57fc10cd52879386f31e8ba0443981.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交流充电桩电路图_直流充电桩和交流充电桩给电动汽车充电过程中是如何工作的?...

近几年来,新能源汽车发展越来越快,而限制新能源电动汽车发展的主要因素是续航里程和充电问题。续航里程要靠提高电池性能来解决,而解决充电问题就要靠充电桩的普及来实现。下面小编带着大家一起来了解一下直流充电桩和交流充电桩给电动汽车充…

Windows上安装Ubuntu子系统练习linux基本命令

经常在我的群里看到自学测试的小伙伴花费了大量的时间在环境搭建和各种软件的安装上面,有很多就卡在第一步,虚拟机的安装。 有很多安装之后比如启动蓝屏之类的等等,其实,我想说的是,这些都是在走弯路,在这个…

如何巧妙的申请换部门_如何设置户外广告?市城管局局长体验户外广告审批流程...

为巩固拓展“不忘初心、牢记使命”主题教育成果,落实“对标找差、再攀新高”工作要求,优化营商环境,提升服务品质,近日,张家港市城管局局长殷沪飞以个体工商户的身份,到行政审批局城管窗口体验户外广告设置…

安卓APP版本发布流程(一)

一、加固安卓包(新版安卓Release包)1、下载安装加固软件,注册登录账号https://jiagu.360.cn/#/global/index2、添加签名设置,对应签名路径、密码、别名、别名密码向安卓开发要3、添加签名后,APK加固-添加应用&#xff…

小程序弹出层禁止列表滑动_是时候展现真正的技术了!小程序教程来了——百战Web前端课程更新05.07...

百战程序员十大精品课程,实时更新,保持行业领先。本次更新课程Web前端第二十九阶段安心食疗-微信小程序全部7个章节及课程资料。小程序是依托微信而生的,是一种不用下载就能使用的应用,也是一项创新,经过近几年的发展&…

Jmeter实战(二)|同用户重复并发多次抢红包

之前我们有写过Jmeter多人并发抢1个红包,今天我们来写另外一种场景,同用户重复并发多次抢红包,两种场景还是不太一样,都是比较切合用户实际使用场景,如果1个用户在某些条件下,能重复领取到2次红包&#xff…

【北京上海】七猫内推,高薪海量岗位等你来~

微信长按识别、扫码,查看海量待招岗位!!!UI、产品、测试、开发、运营、数据分析等等

Fiddler无所不能——之测试开发攻城狮必备神器

fiddler官网 https://www.progress.com/ 官网下载fiddler https://www.telerik.com/download/fiddler/fiddler4 fiddler插件下载 https://www.telerik.com/fiddler/add-ons Fiddler无所不能——之测试开发攻城狮必备神器 1、模拟真实网络环境4g网、3g网络、2g网络、弱网等​…

TensorFlow7-多元线性回归模型

运行结果:错误 # 不确定多少行为None。列为12列。即12个数据特征 xtf.placeholder(tf.float32,[None,12],name"X") # 12个特征数据ytf.placeholder(tf.float32,[None,1],name"Y") # 1个标签数据### 创建变量 定义模型结构# 定义了一个命令空…

史上最全jmeter逻辑控制器案例详解

在jmeter中逻辑控制器可以控制采样器(samplers)的执行顺序。由此可知,控制器需要和采样器一起使用,否则控制器就没有什么意义了。放在控制器下面的所有的采样器都会当做一个整体,执行时也会一起被执行。 (1)控制测试计…

python3.8.2中文手册chm_3.2.2中文语法考察

3自然语言3.1动物的语言3.2自然语言3.2.1英文语法考察3.2.2中文语法考察常见理论可对中文进行的描写与解读如下。汉字的起始是笔划,包括有:横、竖、撇、点、捺、提六种基本笔划:一、丨、丿、丶、㇏、㇀。这些基本笔划可以进一步组合出25种复合…

TensorFlow8-mnist手写数字识别入门

分类问题的损失函数为什么一般不用MSE?MSE在逻辑回归中可能具有多个局部最优点 不能用梯度下降算法

jmeter服务器性能资源监控部署

1、下载https://jmeter-plugins.org/install/Install安装插件plugins-manager放置lib/ext下,重启jmeter选项页面可查看到此下载插件 2、准备客户端插件jmeter-plugins-perfmon-2.1.jar和服务端监控插件ServerAgent-2.2.3(CMDRunner.jar、ServerAgent.jar…