字典

基本概述:

字典用大括号{}括起来,内部使用key:value 来保存数据

例如{"Jay":"周杰伦","eason":"陈奕迅","JJ","林俊杰"}

字典的key是固定的,不可变的,就是说key可哈希,value则没有限制

key具有不等性,就是一个字典中的key不允许有相同的

字典的保存顺序不是按照我们自己的意愿来的,也可以认为是无序的

字典也可以进行遍历,但遍历结果为key

dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}for el indic:print(el)

打印结果为

基本操作:

增删改查

增加:

dict[一个不存在的key] = value, 表示把一个新的键值对加入到字典里,如果这个key已经存在,则会替换掉原来的key对应的value

dict.setdefault(key,value), 表示加一个新的键值对到字典,如果这个key已经存在,则不再继续保存

dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}

dic["黑旋风"] = "李逵"

dic["及时雨"] = "宋江老大"

dic.setdefault("智多星","吴用")

print(dic)

执行结果为:

删除:

dict.pop(key), 删除key对应的键值对,返回的是key对应的value

dict.popitem(), 随机删除一对键值对,返回的是元组(key,value)

del dict[key], 删除key对应的键值对,有固定的格式

dic = {"牌牌":"你去哪里了", "晓雪":"你快回来.", "雪雪": "又走了"}

ret= dic.pop("晓雪") #删除一个元素. 返回这个元素的value值

print(ret)del dic["雪雪"]

ret1= dic.popitem() #返回给你的是一个元组.

print(ret1)

执行结果为:

修改:

dict[已有的key] = 新value, 表示将原有字典中key对应的value修改为新的value

dict1.update(dict2), 把dict2中的键值对更新到dict1中.如果dict2中的key已经在dict1中出现,那么将dict1中key对应的value替换为dict2中的,如果不存在,就添加一对键值对

dic1 = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}

dic2= {"李晨": "范冰冰", "邓超": "孙俪", "王祖蓝": "李亚男"}

dic1.update(dic2)print(dic1)

执行结果为:

查询:

dict[key], 查询key对应的value,如果没有的话,报错

dict.get(key,默认值), 查询key对应的value,如果没有的话,返回默认值,没有给默认值的情况下,返回None

dict.setdefault(key,value), 首先判断字典中有没有这个key,如果没有的话,新增到字典中,如果有的话,用这个key去字典中查询,返回查询的结果

dic = {"及时雨":"宋江", "易大师":"剑圣"}

dic.setdefault("及时雨", "诺克萨斯") #可以帮我们添加

print(dic)

ret= dic.setdefault("及时雨123", "hello")print(ret)print(dic)

执行结果为:

常用方法:

keys(),values()和items()

dict.keys(), 拿到所有的key,返回key的集合,返回结果像是列表,但实际不是列表,但是可以执行列表的操作,并且可以进行迭代循环

dict.values(), 拿到所有的value,返回value的集合,返回结果像是列表,但实际不是列表,但是可以执行列表的操作,并且可以进行迭代循环

dict.items(), 拿到所有的键值对,返回结果像是列表,但里边的元素是元组

dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}print(dic.keys())print(dic.values())print(dic.items())

执行结果为:

解构:

a,b = (1,2)

利用结构可以遍历dict

1 dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}2 print(dic.items())3 for k, v indic.items():4 print(k , v)

执行结果为:

字典的嵌套:

ic ={"name":"汪峰","age": 58,"wife":{"name":"国际章","salary": 180000,"age": 37},"children":[

{"name":"老大", "age": 18},

{"name":"老二", "age": 118}

]

}print(dic["children"][1]["age"]) # 输出汪峰孩子老大的年纪print(dic["wife"]['salary'])     # 输出汪峰妻子的工资

python中的字典操作_python中的字典以及相关操作相关推荐

  1. python中字典使用_python中字典的使用

    python中的字典的特性: 在字典中的元素是散列存放的,没有顺序, 在进行增删改查的时候使用字典中需要的关键字(key)即可. 一: 创建字典 1)直接定义一个: dict = {'ob1':'co ...

  2. python访问字符串中的部分字符的操作_python中字符串的常见操作方法

    1. 字符串概念,字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体.字符串支持索引操作. 2. 创建字符串基本语法 变量名 = "字符串信息" 变量名 = '字符串信 ...

  3. python获取字典长度_Python中的字典

    1 字典的定义 dictionary(字典) 是 除列表以外Python之中 最灵活的数据类型 字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体的相关信息 和列表的区别 列表是 有序的对象 ...

  4. python嵌套是什么意思_python中的嵌套字典是什么意思?

    如果大家不知道本章内容主题,那就先从嵌套入手,光从字面意思就可以了解到,一定是把已经存在事物在增加一层,这样大家可以承上启下在回顾下本章主题啦~是存在一样的意义,好啦,下面就开始给大家正式介绍,但是不 ...

  5. python中weekid什么意思_Python学习week4-dict字典

    1.字典的定义与初始化 1.1.python字典的特点: key-value键值对的数据集合: 可变的,无序的,key去重: key必须为可hash数据类型,value可以为任意数据类型: 1.2.定 ...

  6. python列表怎么写文件_python中以字典为元素的列表怎么写入文本文件

    python如何将列表中的元素添加进字典纵然被命运的铁蹄狠狠践踏,也顽强地长出自己的根芽. 录入自己和另一个人的名字的汉语拼音简写,然后依据标识符中字母的数值两个人,一颗心,依偎的不是爱情而是那小温暖 ...

  7. python把字符串放到列表_python中for循环把字符串或者字典添加到列表的方法

    python中如何for循环把字符串添加到列表? 实例: 1.单个字符串用for循环添加到列表中: # 把L1中的字符串添加到列表alist里面 L1 = 'MJlifeBlog' alist = [ ...

  8. python变量的赋值操作_Python中关于变量赋值操作的实例分享

    这篇文章主要介绍了Python编程之变量赋值操作,结合实例形式分析了Python赋值.位移.多元赋值操作符等相关操作使用技巧,需要的朋友可以参考下 本文实例讲述了Python编程之变量赋值操作.分享给 ...

  9. python中key什么意思_Python中字典的key都可以是什么

    作者:Inotime 来源:CSDN 原文:https://blog.csdn.net/lnotime/article/details/81192207 答:一个对象能不能作为字典的key,就取决于其 ...

  10. python中unicode编码表_Python中的字符串操作和编码Unicode详解

    本文主要给大家介绍了关于 Python中的字符串操作和编码Unicode的一些知识,下面话不多说,需要的朋友们下面来一起学习吧. 字符串类型 str:Unicode字符串.采用''或者r''构造的字符 ...

最新文章

  1. AI发展这一年:不断衍生的技术丑闻与抵制声潮
  2. 2017年3月14日上午日志
  3. java开发中的Mutex vs Semaphore
  4. 前端能读取压缩包内容吗?_解决前端多环境部署的痛点
  5. 王道408数据结构——第一章 绪论
  6. html之特殊字符表
  7. Windows搭建SonarQube_Mysql
  8. 244. Shortest Word Distance II
  9. 新年新气象,从SQL Server 2019新特性开始!
  10. uni app 调用网络打印机_uni-app封装一个request请求
  11. 大橡塑属于机器人板块吗_机器人中的启蒙教育
  12. WebService 之 WSDL详解
  13. Android的ImageView中scaleType属性值的详解
  14. 固高运动控制卡学习1--运动模式介绍(1)--点位,Gear,Jog,插补
  15. python获取windows当前登录用户名 域 计算机名 mac地址 ip
  16. 毕业论文word版 格式设置技巧
  17. android 旋转木马菜单,AndroidCarrouselLayout
  18. 用python画蜡笔小新的步骤_蜡笔小新 - python代码库 - 云代码
  19. java实现dde服务端,快速开启dde服务端
  20. gentoo 安装笔记

热门文章

  1. halcon13永久破解dll,亲测可用
  2. 20190605每日一句你的态度决定了你的人生高度
  3. Atitit 容器化技术之道 attilax著 1. 概念 1 1.1. 容器是应用服务器中位于组件和平台之间的接口集合。 1 1.2. 有时候也指集合的概念,里面可以存放不同对象 2 1.3. 、新
  4. Atitit.计算机图形图像图片处理原理与概论attilax总结
  5. Atitit.你这些项目不都是模板吗?不是原创  集成和整合的方式大总结
  6. paip.双网卡多网卡不能上网的联网配置
  7. paip.提升用户体验---显示密码控件ShowPwdController
  8. paip.提升安全性----我们需要多长的密码
  9. Ubuntu: apt安装clang
  10. (转)美国进入智能投顾竞争时代