当前位置:首页 > 科技  > 软件

九个必须知道的Python字典骚操作

来源: 责编: 时间:2023-12-21 17:09:52 156观看
导读字典,python数据结构中的大杀器,是另一种可变容器模型,且可存储任意类型对象。字典是 除列表以外 Python 之中 最灵活 的数据类型。字典可以用来 存储多个数据。通常用于存储描述一个物体的相关信息。下面分享9个实用的

字典,python数据结构中的大杀器,是另一种可变容器模型,且可存储任意类型对象。字典是 除列表以外 Python 之中 最灵活 的数据类型。字典可以用来 存储多个数据。通常用于存储描述一个物体的相关信息。euU28资讯网——每日最新资讯28at.com

euU28资讯网——每日最新资讯28at.com

下面分享9个实用的字典操作,欢迎大家点赞、收藏、支持!euU28资讯网——每日最新资讯28at.com

1. 键是否存在

d = {"name": "Tony", "age":100}key = "phone"if key in d:    print("Key exists")else:    print("Not exists")# Key exists

值得注意的是:不要用 key in d.keys()。这是一个多余的操作,因为 d.keys() 会返回一个新的列表对象,导致使用内存变大。euU28资讯网——每日最新资讯28at.com

2. 合并字典

# example 1d1 = {'a': 1, 'b': 2}d2 = {'b': 3, 'c': 4}d = {**d1, **d2}print(d) # {'a': 1, 'b': 3, 'c': 4}print(d1) # {'a': 1, 'b': 2}print(d2) # {'b': 3, 'c': 4}# example 2d1 = {'a': 1, 'b': 2}d2 = {'b': 3, 'c': 4}d2.update(d1)print(d1) # {'a': 1, 'b': 2}print(d2) # {'a': 1, 'b': 2, 'c': 4}

值得注意的是:第一个例子,d1 和 d2 不会被修改,并且相同的key不会被重新赋值。第二个例子,d2 被 d1更新,相同的key会被重新赋值。euU28资讯网——每日最新资讯28at.com

3. 遍历字典

# method 1d = {'c': 3, 'd': 4, 'a': 1, 'b': 2}for key, value in d.items():    print(key, value) # c 3 d 4 a 1 b 2# method 2d = {'c': 3, 'd': 4, 'a': 1, 'b': 2}for key in d:    print(key, d[key]) # c 3 d 4 a 1 b 2

方法一中 d.items() 需要返回一个额外的 dict_items 对象。euU28资讯网——每日最新资讯28at.com

4. 字典推导式

fruits = ['apple', 'mango', 'banana','cherry']d = {f:len(f) for f in fruits} # 类似于列表推导式print(d) # {'apple': 5, 'mango': 5, 'banana': 6, 'cherry': 6}

5. 字典排序

字典本质上是一个无序的容器对象(从Python 3.6开始支持顺序,但是这个顺序是指key添加的顺序)。我们可以使用 lambda 函数作为排序键按键或值对字典进行排序。euU28资讯网——每日最新资讯28at.com

d = {"c": 3, "a": 1, "f":6, "b": 0}# 按key排序sorted(d.items(), key=lambda x:x[0]) # [('a', 1), ('b', 0), ('c', 3), ('f', 6)]# 按value排序sorted(d.items(), key=lambda x:x[1]) # [('c', 3), ('f', 6), ('b', 0), ('a', 1)]

6. 用字典计数

# method 1chars = ['a', 'b','c','a','d','c']d = {}for c in chars:    d[c] = d.get(c, 0) + 1print(d) # {'a': 2, 'b': 1, 'c': 2, 'd': 1}# method 2import collectionschars = ['a', 'b','c','a','d','c']d = collections.Counter(chars)print(d) # Counter({'a': 2, 'b': 1, 'c': 2, 'd': 1})

7. 删除字典中的键值对

d = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'}# 删除指定的键值对del d['ob1']print(d) # {'ob2': 'mouse', 'ob3': 'printer'}# 删除所有的键值对d.clear()print(d) # {}

8. 同长度的2个list转换为字典

stocks = ['reliance', 'infosys', 'tcs'] prices = [2175, 1127, 2750] d = dict(zip(stocks, prices))print(d) # {'reliance': 2175, 'infosys': 1127, 'tcs': 2750}

9. 字典的复制

# 浅复制d = {'a': 1, 'b': 2}x = d # 只是引用 ⚠️ 改变x也会改变d!x.update({'c': 3})print(x) # {'a': 1, 'b': 2, 'c': 3}print(d) # {'a': 1, 'b': 2, 'c': 3}x.clear()print(x) # {}print(d) # ()# 深复制d = {'a': 1, 'b': 2}x = d.copy() #复制了一份,改变x不会改变dx.update({'c': 3})print(x) # {'a': 1, 'b': 2, 'c': 3}print(d) # {'a': 1, 'b': 2}x.clear()print(x) # {}print(d) # {'a': 1, 'b': 2}

小节

上面分享的9个python字典操作,希望对你有所帮助!euU28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-51220-0.html九个必须知道的Python字典骚操作

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 穿越编程时光:20种常用编程语言的"Hello, World!"初体验

下一篇: 13个你不知道的Python技巧

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    K60至尊版狂暴引擎2.0加持:超177万跑分斩获性能第一

    Redmi的后性能时代战略发布会今天下午如期举办,在本次发布会上,Redmi公布了多项关于和联发科的深度合作,以及新机K60 Ultra在软件和硬件方面的特性,例如:“K60 至尊版,双芯旗舰
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • JavaScript学习 -AES加密算法

    JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 这款新兴工具平台,让你的电脑效率翻倍

    这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • 破圈是B站头上的紧箍咒

    破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 微博大门常打开,迎接海外画师漂洋东渡

    微博大门常打开,迎接海外画师漂洋东渡

    作者:互联网那些事“起猛了,我能看得懂日语了”。“为什么日本人说话我能听懂?”“中文不像中文,日语不像日语,但是我竟然看懂了”…&hell
  • 小米公益基金会捐赠2500万元驰援北京、河北暴雨救灾

    小米公益基金会捐赠2500万元驰援北京、河北暴雨救灾

    8月2日消息,今日小米科技创始人雷军在其微博上发布消息称,小米公益基金会宣布捐赠2500万元驰援北京、河北暴雨救灾。携手抗灾,京冀安康!以下为公告原文
  • 机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    7月29日消息,根据市场调查机构Counterpoint Research公布的最新报告,2023年第2季度中国智能手机销量同比下降4%,创新自2014年以来第2季度销量新低。报
Top