python字典的操作

python字典的操作python 字典操作字典 1 花括号定义的 2 python 内置的数据结构之一 与列表一样是一个可变序列 3 以键值对 冒号前的叫键 冒号后的叫值 的方式存储数据 字典是一个无序的序列 即是通过 hash 函数计算而来 4 元素之前用逗号分隔 5 键具有唯一性 不可重复 当键重复的时候不会报错 而是左边的键会被右边的键所覆盖字典实现原理 类似于查字典 不过 python 中的字典是根据 ke

''' python字典操作 字典:(1)花括号定义的, (2)python内置的数据结构之一,与列表一样是一个可变序列 (3)以键值对(冒号前的叫键,冒号后的叫值)的方式存储数据,字典是一个无序的序列,即是通过 hash()函数计算而来( 4)元素之前用逗号分隔 (5)键具有唯一性,不可重复。当键重复的时候不会报错,而是左边的键会被右边的键所覆盖 字典实现原理: 类似于查字典,不过python中的字典是根据key查找value所在的位置 通过hash(key) 找到这个key的值 .字典的创建 1.最常用的方式:使用花括号 eg: sheng = { 9:98 , "李四":97 , "王五":96 , ......} 2.使用内置函数dict() eg: sheng = dict(name='jick',age=20) #注意 这里创建是用的等号 3.创建空字典 eg: sheng = {} .获取字典中的元素 1.使用[key] 语法格式: 字典名[key] eg: sheng = {"张三":98,"李四":97,"王五":96,"铁牛":95} print(sheng["张三"]) 输出为:98 2.使用get()方法 语法格式: 字典名.get(key) eg: sheng = dict(name="圣",age=20,gender="男") print(sheng.get('name')) 3.俩种方法的区别 使用第一种方法获取字典中的元素,如果没有这个键,会报错KeyError。 使用第二种方法获取字典中的元素,如果没有这个键,不会报错,而是显示None。 4.len(字典名) # 将会返回字典子键的个数 .字典的增、删、改操作 1.判断字典中是否存在这个键 语法格式1: key in 字典名 语法格式2: key not in 字典名 返回值是逻辑值true 或者 false 2.删除字典中元素 语法格式: del 字典名[key] eg: sheng = dict(name="圣",age=20,gender="男") print("原字典内容:",sheng) del sheng["gender"] print("删除后的内容:",sheng) 输出: 原字典内容: {'name': '圣', 'age': 20, 'gender': '男'} 删除后的内容: {'name': '圣', 'age': 20} 3.清空字典中元素 语法格式: 字典名.clear() 4.新增字典中元素 语法格式: 字典名[key] = 值 eg: sheng = dict(name="圣",age=20,gender="男") print("原字典内容:",sheng) sheng["xingbie"] = "nv" print("新增后的内容",sheng) 输出: 原字典内容: {'name': '圣', 'age': 20, 'gender': '男'} 新增后的内容 {'name': '圣', 'age': 20, 'gender': '男', 'xingbie': 'nv'} 5.修改字典中键的值 语法格式: 字典名[key] = 值 eg: sheng = dict(name="圣",age=20,gender="男") print("原字典内容:",sheng) sheng["name"] = "潘" print("修改后的字典内容:",sheng) 输出为: 原字典内容: {'name': '圣', 'age': 20, 'gender': '男'} 修改后的字典内容: {'name': '潘', 'age': 20, 'gender': '男'} 6.更新字典内容 语法格式: 字典名1.update(字典名2) 将字典名2 中的元素添加到字典名1 中,如果key相同则会被字典名2 中的覆盖 eg: sheng = dict(name="圣",age=20,gender="男") print(sheng) shu = dict(name="冷",年龄=19,性别="男") sheng.update(shu) print(sheng) print(shu) 输出: {'name': '圣', 'age': 20, 'gender': '男'} {'name': '冷', 'age': 20, 'gender': '男', '年龄': 19, '性别': '男'} {'name': '冷', '年龄': 19, '性别': '男'} .获取字典视图的方法 1.获取字典中的键 语法格式: 字典名.keys() eg: sheng = dict(name="圣",age=20,gender="男") print(sheng.keys()) 输出: dict_keys(['name', 'age', 'gender']) 还可以将字典视图转换成列表:先将获取的键存放到一个变量,然后再list(变量). eg: sheng = dict(name="圣",age=20,gender="男") print(sheng.keys()) shu = sheng.keys() print(list(shu)) 输出: dict_keys(['name', 'age', 'gender']) ['name', 'age', 'gender'] 2.获取字典中所有的值 语法格式: 字典名.values() eg: sheng = dict(name="圣",age=20,gender="男") print(sheng.values()) 依然也可以将值转换成列表, eg: sheng = dict(name="圣",age=20,gender="男") print(sheng.values()) shu = sheng.values() print(list(shu)) 3.获取字典里的键和值 语法格式: 字典名.itmes() eg: sheng = dict(name="圣",age=20,gender="男") print(sheng.items()) 输出: dict_items([('name', '圣'), ('age', 20), ('gender', '男')]) #依然也可以将值转换成列表 eg: sheng = dict(name="圣",age=20,gender="男") print(sheng.items()) shu = sheng.items() print(list(shu)) 输出: dict_items([('name', '圣'), ('age', 20), ('gender', '男')]) [('name', '圣'), ('age', 20), ('gender', '男')] .字典元素的遍历(通过for in 循环来操作) eg : sheng = dict(name="圣",age=20,gender="男") for i in sheng.items(): 如果in后面只是一个字典名 那么将只会输出字典中所有的键 print(i) 输出:('name', '圣') ('age', 20) ('gender', '男') .字典生成式(两个列表:一个列表作为键,另一个列表作为值) 通过zip()函数对两个列表进行打包 语法格式: {item.upper:price for item,price in zip(列表1,列表2)} item后面的.upper()是将键转成为英文大写 eg: a = ["姓名","xingbie","nianling"] b = ["sheng","男",20] c = {item.upper():price for item,price in zip(a,b)} print(c) 输出: {'姓名': 'sheng', 'XINGBIE': '男', 'NIANLING': 20} '''
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233697.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 二元logistic回归模型——spss步骤

    二元logistic回归模型——spss步骤二元:因变量为二分类变量,且两个分类整合在一起的概率为1.(有效/无效;是/否)分析——回归——二元logistic——结果作为因变量——自变量作为协变量分类——设置分类变量(非连续变量)——变化量、第一个保存——概率、组成员选项:霍斯默-莱梅肖拟合优度、Exp(B)置信区间——在每一个步骤结果分析:(1)看霍斯默检验的显著性:sig/p>0.05表示拟合良好。(2)方程中的变量:B——系数sig——p值——显著性Exp(B)——OR值——优势比(高出一个单位,发生的概率高出多少

    2025年7月28日
    3
  • shell-循环

    shell-循环接上一篇shell运算符接着往下说,shell循环:shell循环有三种,一种是for循环,一种是while循环,还有一种是until循环,循环体中和java类似,可以使用break调出当前循环,continue继续下一次循环。for循环for循环以for开始,循环体在do和done之间for循环有两种各式,一种是带in,一种是类似java的for循环:比如说输出0到10之间的整数,给…

    2022年7月24日
    10
  • pytest重试_pytest不是内部或外部命令

    pytest重试_pytest不是内部或外部命令安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

    2022年7月31日
    7
  • vue获取上传文件路径_vue中文件上传及接收「建议收藏」

    vue获取上传文件路径_vue中文件上传及接收「建议收藏」准备:前端:vue环境+axios+elemen-ui后端:node.jsmulter前端代码://引入axiosimportaxiosfrom’axios’;//获取用户信息getUserInfo(){//发送请求获取用户信息getInfo().then(res=>{//接收数据let{data}=res;this.userInfo=data[0…

    2022年8月15日
    4
  • STM32逆变器电源设计方案,基于STM32F103控制器[通俗易懂]

    STM32逆变器电源设计方案,基于STM32F103控制器[通俗易懂]STM32逆变器电源设计方案,基于STM32F103控制器:★原理图和PCB(其中原理图为PDF文档)★逆变器电源设计说明★逆变器电源源代码(STM32C8T6,实现过压,欠压,过功率,和短路保护功能)★SPWM调制生成工具id=638460642538&…

    2022年6月11日
    39
  • 免费好用的图片压缩网站,有这五个就够了(收藏备用)

    免费好用的图片压缩网站,有这五个就够了(收藏备用)前言当我们想要线上报名提交照片时,大小却超过范围,这时就需要压缩软件的帮助。但大多主流的软件可以压缩但想要下载就需要收费了,下面是五个国内外免费的压缩平台。一、OnlineImage优点:图片可以压缩90%以上,可以批量压缩,速度只需要几秒钟完全免费,无数量限制,支持绝大多数图片压缩格式缺点:不支持自定义图片大小压缩,广告比较多网站链接为:https://www.onlineimagetool.com/zh/二、Docsmall……

    2022年6月18日
    101

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号