day05

字典

字典—— dict:

字典无序的,可变的数据类型

用于存储大量数据,字典要比列表快,将数据和数据之间进行关联

lst1 = ['常鑫','李文虎','张宇'] # 姓名
lst2 = [10,80,100] # 分数
print(lst1[0],lst[0])

逗号分隔叫做一个元素

{键 : 值,键 : 值} ——键值对

字典以散列表和哈希表存储

字典的键必须是可哈希的——不可变的数据类型——避免哈希冲突使用了(开放寻址法)

不可哈希的——可变的数据类型:列表

要求唯一——如果有重复的后面的将前面的覆盖

字典的值:可以任意

定义:dic = {}
dic = {"常鑫":10,"李文虎":80,"张宇":100,10:"大黑哥",True:123,(1,2,3):"大煎饼",[1,2]:"meet"}
print(dic)

字典的增加

  • dic['10'] = 89 : 暴力添加
dic = {'常鑫':[1,2,3],'李文虎':'89'}
dic['李文虎'] = 99
print(dic)
  • dic.setdefault('内容':'内容') :

用李文虎这个键去字典进行查询,如果不存在就执行添加,如果存在就不添加

dic = {'常鑫':[1,2,3],'李文虎':'89'}
dic.setdefault('李文虎':'99')
print(dic)
print(dic.setdefault('李文虎'))

字典的删除

  • del dic[键] :通过字典的键删除键值对
dic = {'常鑫':[1,2,3],'李文虎':'89'}
del dic['常鑫']
print(dic)
  • dic.pop(键) :通过字典的键删除键值对

也有返回值:返回的是被删除的值

dic = {'常鑫':[1,2,3],'李文虎':'89'}
print(dic.pop('常鑫'))
print(dic)
  • dic.clear() :清空
dic = {'常鑫':[1,2,3],'李文虎':'89'}
dic.clear()
print(dic)

字典的改

  • dic[键] = 值 : 字典中没有这个键值对,就是添加,有的时候就是修改
dic = {'常鑫':[1,2,3],'李文虎':'89'}
dic['常鑫'] = 'dsb'
print(dic)
  • dic.update(字典) :update括号中的级别高于update前面的字典,有一样就更改值,如果没有就添加在后面
dic = {"常鑫":[1,2,3],'李文虎': '89'}
dic1 = {"1":3,"5":9,"李文虎":100}
dic1.update(dic)
print(dic1)

字典的查

  • for循环获取的是字典中每个键值对的键
dic = {"常鑫":[1,2,3],'李文虎': '89'}
for i in dic:print(i)
  • dic.get(键):通过键获取值,如果不存在就返回None
dic = {"常鑫":[1,2,3],'李文虎': '89'}
print(dic.get('常鑫'))# 结果是[1,2,3]dic = {"常鑫":[1,2,3],'李文虎': '89'}
print(dic.get('cx'))# 结果是None
  • dic[键] (建议不使用): 通过键获取值,如果不存在就报错
dic = {"常鑫":[1,2,3],'李文虎': '89'}
print(dic['常鑫']) # 结果是[1,2,3]dic = {"常鑫":[1,2,3],'李文虎': '89'}
print(dic['cx']) # 报错

其他操作

dic = {"1":3,"5":9,"李文虎":100}
for i in dic:print(i,dic.get(i)) # 获取所有键和值
  • dic.keys() : 把键获取到高仿列表里,支持for循环,不支持索引

print(list(dic.keys())) # 获取到列表

dic1 = {"1":3,"5":9,"李文虎":100}
print(dic.keys()) # 结果是:高仿列表—— dic_keys(['1','5','李文虎']) # 获取字典中所有的键
for i in dic.keys():print(i)# 获取字典中所有的值
lst = []
for i in dic:lst.append(dic[i])
print(lst)
  • dic.values() :把值获取到高仿列表里,支持for循环,不支持索引

print(list(dic.values())) # 获取到列表

dic1 = {"1":3,"5":9,"李文虎":100}
# 获取字典中所有的值
print(list(dic.values())) # 结果是[3, 9, 100]
  • dic.items() : 把键和值组成的元组获取到高仿列表里,支持for循环,不支持索引

print(list(dic.items())) # 获取到列表

dic1 = {"1":3,"5":9,"李文虎":100}
print(dic.items())
# 结果是dict_items([('1', 3), ('5', 9), ('李文虎', 100)])# 获取字典的键和值
for i in dic.items():print(i[0],i[1])dic1 = {"1":3,"5":9,"李文虎":100}
for i in dic1.items():print(i)
# 结果是
('1', 3)
('5', 9)
('李文虎', 100)for k,v in dic1.items():
print(k,v)    # 获取每个元素的键和值
# 结果是:
1 3
5 9
李文虎 100

解构

a, b = 10,12
print(a)
print(b)
# 结果是
# 10
# 12# 面试题
a = 10
b = 20
a,b = b,a
print(a,b) # 结果:20 10a,b = [1,2]
print(a,b)
# 结果是 1 2a,b = (3,4)
print(a,b)# 结果是: 1 2a,b = "23"
print(a,b)  # 结果是: 2 3工作之后可能会遇见
a,_,b = (3,4,5)
print(a,b)   # 等号后边的值和前面的变量名要一一对应a = 10,12  # 本质就是一个元组
print(a)  # 结果是 (10,12)a,b = {"1":"a","2":"b"}  # 得到的是键
print(a,b)  # 结果是 1 2

字典的嵌套

通过键一层一层的查找

# dic = {1001:["周杰伦","林俊杰"],
#        1002:{"汪峰":{"前妻1":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}},
#        1003:{"陈冠希":["阿娇","阿萨","张柏芝"]},
#        1004:{"韦小宝":[{"教主夫人":["教主"]},
#                     {"阿珂":"刺客"},
#                     {"双儿":"天地会"},
#                     {"爱心觉罗建宁":"公主"},
#                     {"独臂神尼":{"韦小宝师父":{"兰陵王":"隐身"},"花木兰":[
#                            "唧唧复唧唧","木兰是战士",{"爸爸":["花和尚"]}]
#                              }},
#                     {"陈圆圆":"丈母娘"},{"穆建平":"小郡主"}]},
#        1005:{"常鑫":["大黑哥","大烧饼","吃大煎饼","肉夹馍","自行车","井盖",]}
#        }# print(dic)
# print(dic[1004]["韦小宝"][0]["教主夫人"][0])
# print(dic[1005]["常鑫"][-1])
# print(dic[1002]["汪峰"]["前妻2"][-1])
# print(dic[1004]["韦小宝"][4]["独臂神尼"]["韦小宝师父"]["兰陵王"])
# print(dic[1004]["韦小宝"][4]["独臂神尼"]["花木兰"][2]["爸爸"][0])

转载于:https://www.cnblogs.com/NiceSnake/p/11165635.html

day05_步入百万年薪的第五天相关推荐

  1. day011_步入百万年薪的第十一天

    day11 函数名的第一类对象及使用 1.可以当作值被赋值给变量 def func():print(1)print(func) a = func a() 2.当作元素存放在容器中 def func() ...

  2. 元宇宙iwemeta:元宇宙率先开百万年薪抢人

    身边的同事告诉我,原来的设计师,现在改为元宇宙设计师,年薪由原来的50万,直接跳涨到年薪一百万. 上海德筑企业管理有限公司一直专注于"猎寻"商业精英,其合伙人禤哲贤向<证券日 ...

  3. 上海内推 | 极氪智能科技百万年薪「氪学家」项目招聘规控/感知算法工程师

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 极氪智能科技 「氪学家」是极氪智能科技倾斜极氪战略规划与资源,用百万年薪吸 ...

  4. 牛津美女硕士放弃百万年薪,用废弃物做轻奢包,马斯克妈妈也来捧场

    来源/卖家 ID/maijiakan 文/吴鹤鸣 编辑/范婷婷 电脑包也时尚. 世界名校毕业,辗转摩根大通和高盛这样的顶级投行,游走在香港金融街,拿着百万年薪--曾经,Tracy是人人羡慕的" ...

  5. 放弃百万年薪,独自创业,我做错了吗?

    作者 | Nathan Marz 译者 | 弯月 出品 | CSDN(ID:CSDNnews) 大学时期,我深受 Paul Graham 的文章<如何创造财富>以及<如何从事自己喜欢 ...

  6. 不堪忍受医美行业潜规则,百万年薪院长想辞职

    https://study.163.com/course/courseMain.htm?courseId=1005988013&share=2&shareId=400000000398 ...

  7. 天才少年:稚晖君放弃华为百万年薪,投身机器人!有何“玄机”?

    没有比"稚晖君"更出名的华为天才少年了. 他是B站知名科技UP主,坐拥230万粉丝,视频最高播放量达到650万+,被B站粉丝亲切的称为"野生钢铁侠". 在他的视 ...

  8. (转)百万年薪的人才泡沫与人工智能的虚假繁荣

    百万年薪的人才泡沫与人工智能的虚假繁荣 2017-07-05 逍遥小妖 大数据 本文授权转载于公众号:PingWest品玩(ID:wepingwest),作者:逍遥小妖. 我们是不是正在像15年前迎来 ...

  9. IC工程师:百万年薪路上的20个阶段,你在哪个阶段?

    关  注  我   , 聊  后  端  和  芯  事 Tao的第552篇原创 多年以后,愿你不负所期 By : Tao I  C  圈  很  小   -   相  遇  乃  有  缘 &quo ...

最新文章

  1. MySQL排序原理与MySQL5.6案例分析【转】
  2. linux系统下网卡故障解决
  3. python_day02 上节课知识点回顾
  4. css 语音,用css完成语音助手小动画
  5. linux命令:vmstat
  6. python新闻爬虫教程_python简易爬虫教程--(一)批量获取搜狐新闻
  7. 问题:图片怎么保存到数据库, 以及怎么把图片从数据库中取出来使用?(已解决)...
  8. Apollo进阶课程⑭ | Apollo自动定位技术——三维几何变换和坐标系介绍
  9. python--17个新手常见Python运行时错误
  10. 标签分布学习相关研究
  11. 关于信贷资产逾期计算口径和小微模型的经典问题与答案
  12. 第六章 面向对象的程序设计 数据属性+访问器属性
  13. .net core mvc中使用ef
  14. Win11玩红警2突然就卡住不动?
  15. OPPO Watch新品将于9月16日正式发布
  16. 7-23 sdust-Java-学生成绩读取与排序 (10 分)
  17. Navicata查看已经创建MySql的触发器
  18. github免费建站和文件夹上传技巧
  19. HR直言:这几类求职者不会要!
  20. Ubuntu 各版本号和名称对照【转】

热门文章

  1. FM-分解机模型详解
  2. Python【二手车价格预测案例】数据挖掘
  3. 变态Java系列 String
  4. centos7克隆虚拟机
  5. java设置excel密码
  6. 只要活着,我愿意一辈子都做程序员
  7. 单片机GPIO端口是干什么的?
  8. Matlab--intersect
  9. 中国电子商务网经的盈利策略
  10. Python读写yaml文件(使用PyYAML库)