https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

字典

  • 字典定义
  • 字典的增删改查
  • 字典的特性
  • 字典的内置函数
  • 字典的内置方法

字典定义

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

a = {"name" : "Lily", "name2" : "Jay", "name3" : "sweety"}

字典的增删改查

代码:

#coding=utf-8#随便创建个字典
a = {"name" : "Lily", "name2" : "Jay", "name3" : "sweety"}
b = {"tree" : "双击", 333:666}#增:在a当中添加“Latin” : “dance”
a["Latin"] = "dance"
print(a)#删:
"""
del a["name"]  # 删除a的是"name"的条目
a.clear()      # 清空字典所有条目
del a          # 删除a字典
"""#改: 将a里面的name中的Lily改为9
a["name"] = 9
print(a)#查,查询name对应的9
print("name为", a["name"])

字典的特性

1.不允许同一个键出现两次。如果出现两次,则会保留最后一次出现的值例如
代码:

#coding=utf-8#不允许同一个键出现两次。如果出现两次,则会保留最后一次出现的值例如
a = {"name" : "Lily", "name2" : "Jay", "name" : "sweety"}
print("name的值为:", a["name"])

输出结果:

2.键必须不可变,所以可以用数字,字符串或元组充当,而不可用列表
代码:

#键必须不可变,所以可以用数字,字符串或元组充当,而不可用列表
b = {["name"] : "Lily", "name2" : 9}
print("name的值为:", b["name"])

输出结果:

字典的内置函数

1.计算字典元素个数元素,即键的总数

2.输出字典,以可打印的字符串表示

3.返回输入的变量类型,如果变量是字典就返回字典类型

代码:

#coding=utf-8a = {"name" : "Lily", "name2" : "Jay", "name3" : "sweety"}
#1.计算字典元素个数元素,即键的总数
print(len(a))
#2.输出字典,以可打印的字符串表示
print(str(a))
#3.返回输入的变量类型,如果变量是字典就返回字典类型
print(type(a))

输出结果:

字典的内置方法

1.clear():用于删除字典内所有元素。
代码:

a = {"name" : "Lily", "name2" : "Jay", "name3" : "sweety"}
#clear():用于删除字典内所有元素,例如:
a.clear()
print(a)

输出结果:

2.copy() 函数返回一个字典的浅复制
代码:

a = {"name" : "Lily", "name2" : "Jay", "name3" : "sweety"}
#copy() 函数返回一个字典的浅复制
b = a.copy()
print("新复制的b字典为", b)

输出结果:

3.fromkeys() 函数用于创建一个新字典

代码:

a = {"name", "name2", "name3"}
# fromkeys() 函数用于创建一个新字典,以序列a中元素做字典的键,a后的数为字典所有键对应的初始值。
#未给value值时
b = dict.fromkeys(a)
print("b字典为",str(b))
#给了指定的值
c = dict.fromkeys(a, 666)
print("c字典为: %s" % str(c))

输出结果:

4.get() 函数返回指定键的值,如果值不在字典中返回默认值。
代码:

a = {"name": "JayChou", "age": 41}
#get() 函数返回指定键的值,如果值不在字典中返回默认值。
print ("name 值为 : %s" %  a.get("name"))
print ("Age 值为 : %s" %  a.get("age"))
print ("Sex 值为 : %s" %  a.get("sex", "男"))

运行结果:

5.in 操作符用于判断键是否存在于字典中,如果键在字典里返回 true,否则返回 false。
而 not in 操作符刚好相反

代码:

#coding=utf-8a = {"name": "JayChou", "age": 41}
# 检测键 name 是否存在
if  'name' in a:print("键 name 存在")
else :print("键 name 不存在")# 检测键 height 是否存在
if  'height' in a:print("键 height 存在")
else :print("键 height 不存在")# not in# 检测键 name 是否存在
if  "name" not in a:print("键 name 不存在")
else :print("键 name 存在")

运行结果:

6.items() 方法以列表返回可遍历的(键, 值) 元组数组
代码:

a = {"name": "JayChou", "age": 41}
#items() 方法以列表返回可遍历的(键, 值) 元组数组。
print("value: %s" % a.items())

运行结果:

7.keys() 方法返回一个可迭代对象,可以使用 list() 来转换为列表。
代码:

a = {"name": "JayChou", "age": 41}
#keys() 方法返回一个可迭代对象,可以使用 list() 来转换为列表。
print("字典所有的键为: %s" % a.keys())print("转换为列表形式为:%s" % list(a.keys()))

运行结果:


8.setdefault() 方法和 get()方法 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值
代码:

#coding=utf-8a = {"name": "JayChou", "age": 41}
#setdefault() 方法和 get()方法 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值
print ("age键的值为 : %s" %  a.setdefault("age", None))
print ("Sex 键的值为 : %s" %  a.setdefault("sex", "男"))
print ("新字典为:", a)

运行结果:

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

9.update() 函数把字典参数 b 的 key/value(键/值) 对更新到字典 a 里。
代码:

#coding=utf-8a = {"name": "JayChou", "age": 41}
#update() 函数把字典参数b的 key/value(键/值) 对更新到字典a里
b = {"sex" : "man"}
a.update(b)
print("更新后的a为", a)

运行结果:

10.values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
代码:

a = {"name": "JayChou", "age": 41}
# values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有value值
print ("字典所有值为 : ",  list(a.values()))

运行结果:

11.pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
代码:

a = {"name": "JayChou", "age": 41}
# pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
a.pop("name")
print(a)

运行结果:

12.popitem() 方法随机返回并删除字典中的最后一对键和值。
代码:

a = {"name": "JayChou", "age": 41}
# popitem() 方法随机返回并删除字典中的最后一对键和值。
a.popitem()
print(a)

运行结果:

参考:https://www.runoob.com/python3/python3-dictionary.html

啊啊啊啊啊啊啊啊…My god…终于写完了!希望对你有帮助,有什么问题可以留言傲。

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

字典超详细--python相关推荐

  1. python详细安装教程-超详细Python与PyCharm安装教程,看这一篇就够了

    原标题:超详细Python与PyCharm安装教程,看这一篇就够了 学习了三天的python, 之前测试一直用课程自带的网页版玩玩, 为了学习 然后就下载了一个python和pycharm 现在分享下 ...

  2. 手把手讲解超详细python入门游戏项目‘打外星飞船’(二)

    手把手讲解超详细python入门游戏项目'打外星飞船'(二) 上次我们在(一)中创建了游戏的背景,现在我们这里将要实现用键盘控制飞船的移动.射击子弹,但是在此之前我们还有一个非常重要的部分–重构. 重 ...

  3. 手把手讲解超详细python入门游戏项目‘打外星飞船’(四)

    手把手讲解超详细python入门游戏项目'打外星飞船'(四) 在经过创立屏幕.飞船移动和设置子弹,我们这里开始设置外形人的创建和移动.我们这里主要的任务是:创建一众外星人让它们充满屏幕,让他们向下和两 ...

  4. 手把手讲解超详细python入门游戏项目‘打外星飞船’(五)

    手把手讲解超详细python入门游戏项目'打外星飞船'(五) 这是最后一个项目了,前面我们讲了整个游戏页面的控制.飞船.子弹.外星人的创建,这里我们讨论一下子弹射杀外星人和整个游戏的结束,我们这里的文 ...

  5. 手把手讲解超详细python入门游戏项目‘打外星飞船’(三)

    手把手讲解超详细python入门游戏项目'打外星飞船'(三) 第三部分我们讲解一下飞船需要射出子弹,那么子弹的部分是怎么操作呢?接下来我直接把项目的四个文件展示出来,以注释的形式在旁边讲解.因为有很多 ...

  6. 手把手讲解超详细python入门游戏项目‘打外星飞船’(一)

    手讲解超详细python入门游戏项目'打外星飞船'手把(一) 由于内容比较多,这里会分为五篇文章来讲解,从页面的创建.飞船控制.射击.外星人创建.射杀外星人五片来展开. 做一个窗口和设置响应用户 im ...

  7. 神器 VS Code,超详细Python配置使用指南

    作者:Lemon 出品:Python数据之道 神器 VS Code, 超详细Python配置使用指南 大家好,我是 Lemon. 之前在公众号发了关于 PyCharm 与 VS Code 对比的文章, ...

  8. # 手把手教学超详细python通用爬虫分布式框架(一)

    手把手教学超详细python通用爬虫分布式框架(一) ` 这里日后添加系列文章的所有文章的目录 文章目录 手把手教学超详细python通用爬虫分布式框架(一) 前言 一.所谓任务? 二.任务需要什么 ...

  9. 【超详细Python教学课件分享】寻宝探路

    您好,感谢您一直对少儿编程.对"与非学堂"的关注.为了更好地为大家服务,诚邀您填写一份<关于少儿编程教与学的课件资源素材需求调查>,https://www.wjx.cn ...

最新文章

  1. DIV焦点事件详解 --【focus和tabIndex】​
  2. 作为程序员,这些地方不知道就out了!
  3. Win10開始菜单打不开
  4. 【采用】人工智能如何帮助银行反欺诈:银行智能欺诈风险预测模型研究
  5. 让计算机时间和网络时间同步,如何让电脑时间与北京时间同步?
  6. spring boot之session store type is 'null'
  7. iPhone传屏到android,冠树最新款2画面无线传屏设备,苹果/win系统电脑可以轻松快速无线传屏到投影...
  8. HTML与CSS:设计滚动条(仅仅适用于IE浏览器)
  9. 「译」 用 Blazor WebAssembly 实现微前端
  10. java csv 追加_如何在Java中添加一个包含CSV数据的列
  11. MySQL Cluster 群集安装环境介绍
  12. 将不确定变为确定~头压缩是否有必要,MVC如何实现头压缩
  13. gradle 引入jar时自动引入父依赖_原创 | 看完此文,你对Gradle的理解又升级了
  14. 如何在GO语言中使用Kubernetes API?
  15. bcb image 动态大小_论车载音箱系统Limiter(限幅器)Threshold与Image(声像)稳定度的关系...
  16. MariaDB基本操作--(创建用户)(转)
  17. How to convert any valid date string to a DateTime.
  18. linux 下ifconfig修改IP
  19. 计算机四级网络工程师(计算机网络多选)- 知识点
  20. linux下c语言编程实例

热门文章

  1. 线程中可以创建进程吗_Linux 进程线程是如何创建的?
  2. 学习android 画板源代码,Android实现画画板案例
  3. gpu浮点计算能力floaps_基准测试移动 GPU 中的浮点精度 - 第 2 部分
  4. 动态规划算法之数塔问题
  5. php广告任务网源码_THINKPHP仿我爱广告任务网|任务网站源码下载
  6. php面试宝典1000题,【PHP面试宝典1000题】HTTP中的请求头(深圳小美网络科技)
  7. 七年级计算机教学质量分析,七年级数学期末教学质量分析报告
  8. 如何查看服务器文件进程,如何查看服务器上的所有进程
  9. KMP算法 串模式识别 用nextval[j]改进next[j]
  10. java 条件 等待_java – 如何唤醒等待相同条件的所有线程?