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. [Asp.net]c#中的斜杠和反斜杠
  2. ZOJ 3171 The Hidden 7's DP
  3. sql 为什么要用where 1=1或者where 1 =0 ?
  4. 《大数据》专题征文:大数据可视分析技术与应用
  5. input文本框自动填充背景色黄色解决办法
  6. java+c#+json+时间_Java与C#间json日期格式互转完美解决方案
  7. 【java学习之路】(java框架)004.Mybatis SQL映射文件详解
  8. bzoj 1639: [Usaco2007 Mar]Monthly Expense 月度开支(二分)
  9. hive 安装_Hive安装部署及使用——1.2.1版本
  10. matplotlib学习
  11. U-Boot源码之串口驱动
  12. android webview 慢,Android Webview的性能问题
  13. GIT文档同步MinDoc - MinDoc模拟登陆
  14. clustalw序列比对_序列比对之Clustalx与Clustalw使用指南
  15. 【智能安防监控补光灯调光芯片方案】单节锂电降压恒流驱动芯片FP8013 最大输出3A体积小/静态功耗低/效率高/支持无频闪调光
  16. 【叶子函数分享三十】SQL简繁转换函数
  17. IE修改注册表来更改IE设置
  18. 美国医院开始用大数据预测谁会生病
  19. 教育教学直播截图(未完待续)
  20. Android Studio plugins 无法在线加载插件

热门文章

  1. linux主机熵值过小,tomcat在linux启动应用慢解决方式
  2. c语言数组转置原理,为什么这个数组转置不对?
  3. MySQL 高级 —— 复合索引简介(多列索引)
  4. android怎样判断插入数据是否成功_MySQL一个表的自增id用完了,背井大佬让我用这些姿势再往里插数据...
  5. android 事务管理软件,安卓 Android基于安卓移动终端的个人事务管理系统
  6. arcgis js 地图打印_Arcgis在国土空间规划编制中的应用
  7. python对数组的操作_Python对数组的基本操作
  8. java打印平行四边形
  9. ginapi服务器性能,gin框架构建Api之:环境配置和路由
  10. 西昌学院计算机,西昌学院