python中字典常用函数
字典常用函数
-
cmp(dict1,dict2) (已删除,直接用>,<,==即可)
-
如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。
-
先比较字典的长度,然后比较键,最后比较键对应的值
dict1 = {'Name': 'Zara', 'Age': 7}; dict2 = {'Name': 'Mahnaz', 'Age': 27}; dict3 = {'Name': 'Abid', 'Age': 27}; dict4 = {'Name': 'Zara', 'Age': 7}; print ("Return Value : %d" % cmp (dict1, dict2)) print ("Return Value : %d" % cmp (dict2, dict3)) print ("Return Value : %d" % cmp (dict1, dict4)) # result Return Value : -1 Return Value : 1 Return Value : 0
-
-
len(dict2)
- 计算键的个数
-
str(dict3)
-
在Python中,使用
str()函数可以将字典转换为字符串表示形式。这对于需要将字典的内容以字符串的形式进行输出、保存或传递给其他函数等情况非常有用。当你调用
str()函数并传入一个字典作为参数时,它会返回一个包含字典内容的字符串。这个字符串的格式与字典结构相似,通常以花括号{}表示,每个键值对用冒号:连接,并且键值对之间用逗号,分隔。具体示例如下:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} my_str = str(my_dict) print(my_str)输出结果:
{'name': 'John', 'age': 30, 'city': 'New York'}这样,你就可以在需要将字典转换为字符串的场景中使用
str()函数了。比如,你可以将字典保存到文件中,或者将其作为参数传递给需要接受字符串作为输入的函数等。
-
-
dict4.clear()
-
用于删除字典内所有元素
tinydict = {'Name': 'Zara', 'Age': 7};print ("Start Len : %d" % len(tinydict)) tinydict.clear() print ("End Len : %d" % len(tinydict))
-
-
dict5.copy()
-
返回一个字典的浅复制。
dict1 = {'user':'runoob','num':[1,2,3]}dict2 = dict1 # 浅拷贝: 引用对象 dict3 = dict1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用# 修改 data 数据 dict1['user']='root' dict1['num'].remove(1)# 输出结果 print(dict1) print(dict2) print(dict3) # result {'num': [2, 3], 'user': 'root'} {'num': [2, 3], 'user': 'root'} {'num': [2, 3], 'user': 'runoob'} #实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
-
-
dict6.fromkeys(seq[, value])
-
用于创建一个新字典(不对dict6进行修改),以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值
-
seq – 字典键值列表。
-
value – 可选参数, 设置键序列(seq)的值,默认为 None。
seq = ('Google', 'Runoob', 'Taobao')# 不指定默认的键值,默认为 None thisdict = dict.fromkeys(seq) print ("新字典为 : %s" % str(thisdict))# 指定默认的键值 thisdict = dict.fromkeys(seq, 10) print ("新字典为 : %s" % str(thisdict)) # result 新字典为 : {'Google': None, 'Taobao': None, 'Runoob': None} 新字典为 : {'Google': 10, 'Taobao': 10, 'Runoob': 10}
-
-
dict7.get(key,[,value])
-
key – 字典中要查找的键。
-
value – 可选,如果指定键的值不存在时,返回该默认值。
-
返回指定键的值,如果键不在字典中返回默认值 None 或者设置的默认值。
tinydict = {'Name': 'Runoob', 'Age': 27}print ("Age : %s" % tinydict.get('Age'))# 没有设置 Sex,也没有设置默认的值,输出 None print ("Sex : %s" % tinydict.get('Sex')) # 没有设置 Salary,输出默认的值 0.0 print ('Salary: %s' % tinydict.get('Salary', 0.0)) # result Age : 27 Sex : None Salary: 0.0 -
get()方法和dict[key]的区别
get(key) 方法在 key(键)不在字典中时,可以返回默认值 None 或者设置的默认值。
dict[key] 在 key(键)不在字典中时,会触发 KeyError 异常。
-
对嵌套字典的使用
tinydict = {'RUNOOB' : {'url' : 'www.runoob.com'}}res = tinydict.get('RUNOOB', {}).get('url') # 输出结果 print("RUNOOB url 为 : %s" % str(res)) # result RUNOOB url 为 : www.runoob.com
-
-
dict8.has_key(key)
- 用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false
-
dict9.items()
-
以列表返回可遍历的(键, 值) 元组数组。
dict1 = {'a':1, 'b':2 } print(dict1.items()) # result dict_items([('a', 1), ('b', 2)])
-
-
dict10.keys()
-
以列表返回一个字典所有的键。
dict1 = {'a':1, 'b':2 } print("%s" % dict1.keys()) print("%s" % list(dict1.keys())) # result dict_keys(['a', 'b']) ['a', 'b']
-
-
dict11.setfault(key,default=None)
-
key – 查找的键值。
-
default – 键不存在时,设置的默认键值。
-
如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。
dict1 = {'a':1, 'b':2 } print(dict1.setdefault('s',"no")) print(dict1) # result no {'a': 1, 'b': 2, 's': 'no'}
-
-
dict12.update(tinydict)
-
将字典tinydict更新到dict12中:
如dict12中没有的,tinydit中有的,就直接将键值对添加到dict12中,如果tinydict中有的,dict12中也有,则将dict12中所对应的键的值改为tinydict中的值
dict1 = {'a':1, 'b':2 } dict2 = {'a':100, 'c':3 } dict1.update(dict2) print(dict1) #result {'a': 100, 'b': 2, 'c': 3}
-
-
dict13.values()
-
以列表返回字典中的所有值。
tinydict = {'Name': 'Runoob', 'Age': 7}print ("Value : %s" % tinydict.values()) print ("Value : %s" % list(tinydict.values()) ) # result Value : dict_values(['Runoob', 7]) Value : ['Runoob', 7]
-
-
dict14.pop(key,[,default])
-
删除字典给定键 key 所对应的值,返回值为被删除的值。
-
key - 要删除的键
-
default - 当键 key 不存在时返回的值
-
返回被删除的值:
- 如果
key存在 - 删除字典中对应的元素 - 如果
key不存在 - 返回设置指定的默认值 default - 如果
key不存在且默认值 default 没有指定 - 触发KeyError异常
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}element = site.pop('name')print('删除的元素为:') print(element) print('字典为:') print(site) # result 删除的元素为: 菜鸟教程 字典为: {'url': 'www.runoob.com', 'alexa': 10000} - 如果
-
-
dict15.popitem()
-
返回并删除字典中的最后一对键和值。
-
如果字典已经为空,却调用了此方法,就报出 KeyError 异常。
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'} pop_obj=site.popitem() print(pop_obj) print(site) # result ('url', 'www.runoob.com') {'name': '菜鸟教程', 'alexa': 10000}
-
相关文章:
python中字典常用函数
字典常用函数 cmp(dict1,dict2) (已删除,直接用>,<,即可) 如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1。 先比较字典的长度,然后比较键&#x…...
leetcode88合并两个有序数组
题目: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终&…...
Ceph入门到精通-Nginx 大量请求 延迟优化
优化nginx以处理大量请求并减少延迟可以通过以下几种方法实现: 调整worker_processes和worker_connections参数:增加worker_processes值可以增加nginx的进程数量,提高并发处理能力。增加worker_connections参数的值可以增加每个worker进程可…...
Vulnstack----5、ATTCK红队评估实战靶场五
文章目录 一 环境搭建二 外网渗透三 内网信息收集3.1 本机信息收集3.2 域内信息收集 四 横向移动4.1 路由转发和代理通道4.2 抓取域用户密码4.3 使用Psexec登录域控4.4 3389远程登录 五、痕迹清理 一 环境搭建 1、项目地址 http://vulnstack.qiyuanxuetang.net/vuln/detail/7/ …...
QT 5.8
QT与Qt Creator,前者是框架,类似与MFC,而后者是QT的编译器,也可以使用Visual studio编辑,编译需要其他的 Index of /new_archive/qt/5.8/5.8.0...
AIGC+思维导图:提升你的学习与工作效率的「神器」
目录 一、产品简介 二、功能介绍 2.1 AI一句话生成思维导图 2.2百万模版免费用 2.3分屏视图,一屏读写 2.4团队空间,多人协作 2.5 云端跨平台化 2.6 免费够用,会员功能更强大 2.7 支持多种格式的导入导出 三、使用教程 3.1 使用AI…...
javaScript:DOM元素的获取(静态/动态获取)
目录 一.dom元素获取的意义与使用场景 使用场景(绝大多数js操作都需要dom操作) 总结/疑问解答! 二.DOM元素获取的常用方法(重点) 获取dom元素(动态) document.gerElementbyId() docume…...
数据结构前言
一、什么是数据结构? 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 上面是百度百科的定义,通俗的来讲数据结构就是数据元素集合与数据元素集合或者数据元素与数据元素之间的组成形式。 举个…...
Docker基于alpine带glibc的小型容器image
由于程序是C写的,gc编译,找了几个容器,生成比较小的是debianslim和ubuntu,生成后的大小分别为88MB,和91MB,还是太大了,于是想起一些小型容器如busybox或者alpine自己装glibc,但是试了…...
Nginx教程
Nginx教程 01-Nginx简介02-windows安装Nginx03-Nginx目录结构04-Linux安装Nginx05-linux下源码安装nginx06-linux下nginx配置07-在docker中安装nginx08-源码安装和yum安装的区别09-Nginx运行组和运行用户10-卸载nginx11-nginx的基本原理和架构12-nginx是如何处理请求的13-nginx…...
直播预约|哪吒汽车岳文强:OEM和Tier1如何有效对接网络安全需求
信息安全是一个防护市场。如果数字化程度低,数据量不够,对外接口少,攻击成本高,所获利益少,自然就没有什么攻击,车厂因此也不需要在防护上花费太多成本。所以此前尽管说得热闹,但并没有太多真实…...
hiveserver2经常挂断的原因
hiveserver2经常挂断的原因 HiveServer2 经常挂断可能有多种原因,以下是一些可能导致挂断的常见原因: 资源不足:HiveServer2 需要足够的内存和 CPU 资源来处理查询请求。如果资源不足,可能会导致 HiveServer2 挂断。请确保在配置…...
openeuler 23.03 安装mysql 8.X
遇到一堆问题:直接从mysql官下载,都不行。下列是失败的: mysql80-community-release-el8-1.noarch.rpm mysql-8.0.34-1.el8.x86_64.rpm-bundle.tar mysql-8.1.0-1.el9.x86_64.rpm-bundle.tar 后来想从openeuler下载应该靠谱:ht…...
网络安全—0基础学习笔记(黑客)
一、前言 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多 google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …...
react HashRouter 与 BrowserRouter 的区别及使用场景
一、简介 在单页面应用中,如何在切换页面后,不刷新浏览器呢?为了解决这个问题,有两种方法,就是hash路由模式、history路由模式,而 react router 的两种路由就是使用这两种路由模式。 二、区别 HashRouter…...
痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)
https://www.cnblogs.com/henjay724/p/13770137.html 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是J-Link工具下i.MXRT的串行NOR Flash下载算法设计。 在i.MXRT硬件那些事系列之《在串行NOR Flash XIP调试原理》一文中,痞…...
多目标应用:基于多目标向日葵优化算法(MOSFO)的微电网多目标优化调度MATLAB
一、微网系统运行优化模型 参考文献: [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 二、多目标向日葵优化算法 多目标向日葵优化算法(Multi-objective sunflower optimization,MOS…...
智能安全科技,Vatee万腾为您服务
在智能科技的引领下,Vatee万腾将为您点亮投资之路,助您在金融市场中抓住机遇,实现财务目标。作为一家融合科技与投资的先锋平台,Vatee万腾致力于为投资者提供智能化的投资方案和支持。 Vatee万腾以其先进的智能科技为基础…...
Scala中的类型检查和转换,以及泛型,scala泛型的协变和逆变
Scala中的类型检查和转换,以及泛型 类型检查和转换 说明 (1) obj.isInstanceOf[T]:判断 obj 是不是T 类型。 (2) obj.asInstanceOf[T]:将 obj 强转成 T 类型。 (3) cla…...
【数据结构】C语言队列(详解)
前言: 💥🎈个人主页:Dream_Chaser~ 🎈💥 ✨✨专栏:http://t.csdn.cn/oXkBa ⛳⛳本篇内容:c语言数据结构--C语言实现队列 目录 一.队列概念及结构 1.1队列的概念 1.2队列的结构 二.队列的实现 2.1头文…...
直播技术:B站第三方推流方案的实现与应用探索
直播技术:B站第三方推流方案的实现与应用探索 【免费下载链接】bilibili_live_stream_code 用于在准备直播时获取第三方推流码,以便可以绕开哔哩哔哩直播姬,直接在如OBS等软件中进行直播,软件同时提供定义直播分区和标题功能 项…...
wps的VBA小tips1
在WPS/Excel的JS宏(以及VBA)里, Value2 是比 Value 更常用、更可靠的属性,主要有这几个核心原因:1. 避免格式干扰- Value 会受单元格显示格式影响:如果单元格设置了日期、货币、百分比等格式,…...
高效批量获取抖音无水印视频:从概念到实战的完整指南
高效批量获取抖音无水印视频:从概念到实战的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...
ERPC 多区域 Solana RPC 基础设施架构:Bundle Standard方案动态扩展与全球端点部署实践
概述 ERPC 近期对其 Bundle Standard 方案进行了扩展升级,支持按持有凭证数量动态分配多个独立方案实例。这一机制使开发者能够将 Solana RPC、Geyser gRPC 和 Shredstream 端点灵活部署到全球多个区域,同时满足开发环境与生产环境分离的需求。 本文将…...
从零解析ATK1218-BD:Arduino实战中的北斗/GPS数据获取与NMEA协议解读
1. 从零认识ATK1218-BD模块 第一次拿到这个火柴盒大小的北斗/GPS双模定位模块时,我完全没想到它能输出这么多信息。ATK1218-BD是正点原子推出的一款工业级定位模块,特别适合用在无人机、车载导航这些需要高精度定位的场景。和普通GPS模块最大的区别是它能…...
NI USB-6210 DAQ采集卡开箱照
1、包装非常简单,有点对不起它6000~7000元的价格:2、 内部也没有什么特别的:3、一张用户须知,一本使用说明:4、一张光盘,感觉有点Low,现在电脑很少有光驱了:5、这条USB线据说要200大…...
OmX企业解决方案:大型组织的AI编码助手部署全攻略
OmX企业解决方案:大型组织的AI编码助手部署全攻略 【免费下载链接】oh-my-codex OmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more. 项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex OmX&#x…...
免费音频转换器fre:ac终极指南:从零开始掌握跨平台音频处理
免费音频转换器fre:ac终极指南:从零开始掌握跨平台音频处理 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac fre:ac是一款功能强大的免费音频转换器,支持MP3、AAC、FLAC、Opus等多…...
Python自动化脚本:高效实现CSV到Little_R格式的批量转换
1. 为什么需要CSV到Little_R格式的转换? 在日常数据处理工作中,我们经常会遇到需要将数据从一种格式转换为另一种格式的需求。特别是对于气象研究人员和数据工程师来说,CSV和Little_R这两种格式的转换尤为常见。CSV(Comma-Separat…...
OFA模型在教育领域的应用:智能试题解析系统
OFA模型在教育领域的应用:智能试题解析系统 让AI看懂试卷,让教学更智能 1. 引言:教育场景的智能化需求 你有没有遇到过这样的情况?批改一堆试卷到深夜,眼睛都快看花了;学生拿着练习题来问,你却…...
