Day 5 字典以及字典的用法
拓展
li = ['alex','wusir','taibai']
print('_'.join(li))
拼接的符号''.join(可迭代对象)
字典--dict
字典:用于存贮数据,存贮大量数据
优点:速度快(快于列表)
能将数据之间关联起来
定义一个字典
dict = {'1':10,'2':20,'张与':40}
字典中逗号分割开的叫做一个元素'1'(键):10(值) 键值对
字典的键:
可哈希的---不可变的数据类型--避免哈希冲突,使用了开放群值法
不可哈希---可变的数据来兴
要求唯一--如果有重复的后边的值前面的值覆盖
字典的值:
可以任意
合法
dic = {123: 456, True: 999, "id": 1, "name": 'sylar',
"age": 18, "stu": ['帅哥', '美⼥'], (1, 2, 3): '麻花藤'}
print(dic[123])
print(dic[True])
print(dic['id'])
print(dic['stu'])
print(dic[(1, 2, 3)])
不合法
dic = {[1, 2, 3]: '周杰伦'} # list是可变的. 不能作为key
dic = {{1: 2}: "哈哈哈"} # dict是可变的. 不能作为key
dic = {{1, 2, 3}: '呵呵呵'} # set是可变的, 不能作为key
注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据
增
dic = {'张与':[1,2,3]}
dic['李文虎'] = 89
print(dic)#直接添加,暴力添加
dic = {'张与':[1,2,3]}
dic.setdefault('李文虎','89')
print(dic)
dic = {'张与':[1,2,3],'李文虎':'89'}
dic.setdefault('李文虎','100')
print(dic)
# 李文虎这个键去字典查询,如果不存在执行添加,如果存在就不添加。
dic = {'张与':[1,2,3],'李文虎':'89'}
print(dic.setdefault('王菲'))
print(dic)
89 存在
None 不存在 执行添加
删除
dic = {'张与':[1,2,3],'李文虎':'89'}
del dic['张与']
print(dic)#通过字典的键删除键值对
dic = {'张与':[1,2,3],'李文虎':'89'}
print(dic.pop('张与'))
print(dic)#通过字典的键删除键值对,有返回值-被删除的值
dic = {'张与':[1,2,3],'李文虎':'89'}
dic.clear()
print(dic)
改
dic = {'张与':[1,2,3],'李文虎':'89'}
dic['张与'] ='asd'
print(dic)#字典中没有某个键值对的时候就是添加,当键在字典中存在的时候就是修改
有则改,无则加
例:
dic = {'张与':[1,2,3],'李文虎':'89'}
dic.update({'1':3,'5':4,'李文虎':100})
print(dic)
dic = {'张与':[1,2,3],'李文虎':'89'}
dic1 = {'1':3,'5':4,'李文虎':100}
dic1.update(dic)
print(dic1)#update()的字典级别高于update前面的字典
查
dic = {'1':3,'5':4,'李文虎':100}
for i in dic:
print(i)#获取的是每个键值对的键
dic = {'1':3,'5':4,'李文虎':100}
print(dic.get('李文虎'))
dic = {'1':3,'5':4,'李文虎':100}
print(dic.get('王菲'))
通过键获取值,如果不在字典中返回NONE
dic = {'1':3,'5':4,'李文虎':100}
print(dic['李文虎'])
dic = {'1':3,'5':4,'李文虎':100}
print(dic['王菲'])
通过键获取值,如果不在字典中报错
其它操作
dic = {'1':3,'5':4,'李文虎':100}
for i in dic:
print(i,dic.get(i))
高仿列表
dic = {'1':3,'5':4,'李文虎':100}
print(dic.keys())
高仿列表---dict_keys(['1', '5', '李文虎'])
可实现功能
for循环(可实现)
dic = {'1':3,'5':4,'李文虎':100}
for i in dic.keys():
print(i)
索引查询(不可实现)
dic = {'1':3,'5':4,'李文虎':100}
print(dic.keys[0])
迭代添加新列表(可实现)
lst = []
dic = {'1':3,'5':4,'李文虎':100}
for i in dic:
lst.append(dic[i])
print(lst)
获取字典中所有的值(可实现)
dic = {'1':3,'5':4,'李文虎':100}
print(dic.values())
获取字典中所有的键值对(可实现)
dic = {'1':3,'5':4,'李文虎':100}
print(dic.items())
for循环获取字典中所有的键值对(可实现)
dic = {'1':3,'5':4,'李文虎':100}
for i in dic.items():
print(i[0],i[1])
解构
a = 10
b = 20
a,b = b,a
print(a,b)
a,b = 1,2
print(a)
print(b)
a,b = [1,2]
print(a)
print(b)
a,b = (3,4,5)
print(a,b)#报错,没有一一对应
a,_,b = (3,4,5)
print(a,b)#等号后边的值和前面的变量名一一对应
a = 10,12 #本质是一个元组
print(a)
a,b = '23'
print(a,b)
a,b = {'1':'a','2':'b'}
print(a,b)
dic = {'1':3,'5':4,'李文虎':100}
for k,v in dic.items():
print(k,v)
字典的嵌套
dic = {1001:['a','b']
1002:{'c':{'前期1':['大烧饼’],'前妻2':['熊大','熊二'],'国际章':'rose'}},
1003:{'陈冠希':['啊娇','啊撒','张柏芝']},
1004:{'韦小宝':[{'教主夫人':{'教主'}},{'阿珂':'刺客'},{'双儿':'天地会'},{爱新觉罗建宁:公主}]}
}
print(dic[1004]['韦小宝'][0]['教主夫人'][0])
总结
字典--dict
无序,可变的
键:使用不可变数据类型(可哈希),键是唯一的
值:可以任意
增
dic['键']='值'
dic.setdefault('键','值')#存在不添加
删除
del dic['键']
dic.pop['键']
dic.clear()
改
dic['键']='值'
dic.update('要更新的字典')
查
for循环查询的是字典的键
get('键')#存在返回字典中键对应的值,不存在返回NONE
dic['键']#存在返回字典中键对应的值,不存在报错
其它操作
keys---获取字典中所有的键,存放在一个高仿列表中
values--获取字典中的所有值,存放在一个高仿的列表中
items--获取字典中所有键和值 存放在一个高仿的列表中(元组第一个为键,第二个为值)
解构
a = 10
b = 20
a,b = b,a
字典的嵌套
查找的时候一层一层通过键进行查找键
转载于:https://www.cnblogs.com/zhuzhizheng/p/11167070.html
Day 5 字典以及字典的用法相关推荐
- Python成长之路第二篇(3)_字典的置函数用法
字典的置函数用法(字典dict字典中的key不可以重复) class dict(object): """ dict() -> new empty dictionar ...
- python列表、字典、元组的用法及区别_python列表,字典,元组简单用法示例
本文实例讲述了python列表,字典,元组简单用法.分享给大家供大家参考,具体如下: 列表 #_*_ coding:utf-8 _*_ # 列表,定义在方括号的形式中,可以进行切片操作. #它没有固定 ...
- python读取json格式文件大量数据,以及python字典和列表嵌套用法详解
1.Python读取JSON报错:JSONDecodeError:Extra data:line 2 column 1 错误原因: JSON数据中数据存在多行,在读取数据时,不能够单单用open(), ...
- python 存储字典_python 字典存储
Python学习笔记--元组.列表和字典的使用笔记 Python学习笔记--元组.列表和字典的使用笔记 最近开始学习python语言,所以在学习中做了一些记录,这次讲的是元组.列表和字典的基础操作和区 ...
- python定义空字典_python字典空值
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为defaul ...
- python 命名字典_python字典命名
广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! usrbinpython dict = {: zhang, age: 27} ...
- python菜鸟教程字典-Python3 字典
Python3 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格 ...
- python输入文字、成为字典_Python 字典(Dictionary)操作详解
一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
最新文章
- Mingw-W64编译Windows程序提示:undefined reference to `__imp_GetStockObject' 的解决方法
- Python问题3——爬虫编码问题
- strtotime 获取一个月的开始 或者一个月的结束
- 温故知新ASP.NET 2.0(C#)(1) - MasterPage(母版页)
- 海滨学院计算机基础知识,北京交通大学海滨学院计算机基础考试卷-网络应用基础...
- C++--22.特殊类的设计
- VMware增强型键盘驱动程序
- P2P继续停止...
- VScode 删除远程资源管理器中SSH TARGETS
- kali liunx安装拼音输入法,必须成功,只需5步
- 作业二:wireshark抓包与ping操作
- Dataway让Spring Boot不再需要Controller、Service、DAO、Mapper
- linux下usb转串口驱动分析
- matlab中alw,MATLAB环境下遗传算法优化工具箱的应用_刘万林
- android 杀毒 源代码,ExeBinder - 源码下载|其它|杀毒|源代码 - 源码中国
- 虚拟语气用法总结及真题解析
- VMware Workstation部署WindowsXP
- c语言实现链表的逆序输出,C语言数据结构实现链表逆序并输出
- iView 3.4.0 发布,基于 Vue.js 的企业级 UI 组件库
- Java微信小程序接入企业付款到零钱
热门文章
- JSRUN 对比 jsfiddle,jsbin,codepen
- 干货分享——产品经理必备的技能:专业技能和软技能。
- Python简单实现图像融合
- xp下硬盘安装Ubuntu Kylin 14.04
- ubuntu设置开机启动程序
- CF14E Camels(暴力dp || 优化dp)
- 票房拐点之后的影院并购,继续“小而频”还是大洗牌
- UVA 10115 Automatic Editing (字符串的替换和查找)
- python去除字符串中空格和特殊符号的方法
- 别让假装努力毁了你,最强的68道软件测试基础问答题你能答的溜嘛?