【python入门篇——11】字典(dict)详解
1.定义
字典是一种可变的容器,可以存储任意类型的数据
字典中的每个数据都是用"键" (key) 进行索引,而不像序列可以用下标进行索引
字典中的数据没有先后关系,字典的存储是无序的
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。key必须是不可变类型,如:数字、字符串、元组。
字典的表示方式是以{} 括起来,以冒号(:)分割的键值对,各键值对之间用逗号分隔开
字典的键一般是唯一的,如果重复最后的一个键值对会替换前面的
2.字典的使用
2.2创建字典
2.2.1创建空字典:
d = {} # 空字典
d = dict() # 空字典
2.2.2创建非空的字典:
dic1 = {'name': 'cgk', 'age': 20, 'sex': 'male'}
dic2 = dict((('name', 'cgk'),))
键一般是唯一的,如果重复最后的一个键值对会替换前面的
值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。
2.3增
#增
dic1 = {'name': 'cgk'}
dic1['age'] = '20'
print(dic1)#键存在,不改动,返回字典中相对应的键对应的值
a = dic1.setdefault('age', 30)
print(a)
print(dic1)#键不存在,在字典中增加新的键值对,并返回相应的值
b = dic1.setdefault('hobby', 'girl')
print(b)
print(dic1)
展示效果:
2.3查
#查
dic4 = {'name': 'cgk', 'age': '20', 'hobby': 'girl'}
print(dic4['name']) #通过键查找
print(dic4.values()) #打印全部值
print(dic4.keys()) #打印全部键
print(dic4.items()) #打印全部键值对# 打印全部键,转成列表形式
print(list(dic4.keys()))
展示效果:
2.4改
2.4.1修改字典对应键的值
dic4 = {'name': 'cgk', 'age': '20', 'hobby': 'girl'}
dic4['age'] = 30 #更新
dic4['school'] = '北大' #添加
print(dic4)
展示效果:
2.4.2向字典添加新内容的方法是增加新的键/值对——updat
dic4 = {'name': 'cgk', 'age': '20', 'hobby': 'girl'}
dic5 = {1: "1", 'age': "30"}
dic4.update(dic5) #把dic5加进dic4里面,如果有重复的键,则覆盖
print(dic4)
展示效果:
2.5删
#删
dic5 = {'name': 'cgk', 'age': '20', 'hobby': 'girl', 'school': '北大'}
del dic5['name'] #删除键是name的条目
print(dic5)red = dic5.pop('hobby') #通过pop删除键是hoppy的条目,并返回删除的值
print(red)
print(dic5)dic5.clear() #清空字典
print(dic5)del dic5 #直接删除字典
展示效果:
清空字典只是晴空字典的所有内容,但字典还存在
del 字典 则是将字典全部删除,包括形式及内容
3.其他操作以及涉及到的方法
3.1 dict.fromkeys
‘Mac’ 统一的字符串分别赋给前面三个!
[‘Mac’, ‘huawei’] 统一的列表分别赋给前面三个!
3.2 d.copy()
对字典 d 进行浅复制,返回一个和d有相同键值对的新字典
3.3 嵌套
#嵌套
av_catalog = {"欧美": {"www.111.com": ["免费的,高清的", "质量一般"],"www.222.com": ["免费的,清晰", "质量还行"],"333.com": ["自拍,图片", "资源不多,更新慢"],"444.com": ["质量很高,good", "收费,白嫖绕路"]},"日韩": {"555.com": ["质量很差,不喜欢", "收费"]},"大陆": {"666.com": ["免费,好人一生平安", "服务器在国外,慢"]}
}av_catalog["大陆"]["666.com"][1] += ",可以用爬虫爬下来" #修改
print(av_catalog["大陆"]["666.com"]) #['全部免费,真好,好人一生平安', '服务器在国外,慢,可以用爬虫爬下来']
3.4 sorted(dict)
返回一个有序的包含字典所有key的列表
dic = {5: '555', 2: '222', 4: '444'}
print(sorted(dic)) #默认根据键排序 [2, 4, 5]
print(sorted(dic.values())) #根据值排序 ['222', '444', '555']
print(sorted(dic.items())) #根据键排序 [(2, '222'), (4, '444'), (5, '555')]
3.5 字典的遍历
dic = {'zhangsan': {'age': 11, 'sex': '男'},'李四': {'age': 22, 'sex': '男'},'wangwu': {'age': 33, 'sex': '女'}}
#方法一:
for i in dic:print(i) #默认遍历打印键print(i, dic[i]) #打印键值对#方法二:
for i in dic.items():print(i) #打印键值对for i, v in dic.items():print(i, v) #打印键值对
4.字典的内置方法&函数
方法&函数 | 描述/dic代表字典对象 |
---|---|
dic.clear() | 清空字典 |
dic.pop(key) | 移除键,同时返回此键所对应的值 |
dic…popitem() | 随机删除一组键值对,同时返回对应的值 |
dic.copy() | 返回字典dic的副本,只复制一层(浅拷贝) |
dic.update(dic1) | 将字典dic1合并到dic中,如果键相同,则此键的值取dic1的值作为新值 |
dic.get(key, default) | 返回键key所对应的值,如果没有此键则返回default |
dic.keys() | 返回可迭代的dict_keys集合对象 |
dic.values() | 返回可迭代的dict_values值对象 |
dic.items() | 返回可迭代的dict_items对象 |
cmp(dict1, dict2) | 比较两个字典元素 |
len(dict) | 计算字典元素个数,即键的总数 |
str(dict) | 输出字典可打印的字符串表示 |
type(variable) | 返回输入的变量类型,如果变量是字典就返回字典类型 |
【python入门篇——11】字典(dict)详解相关推荐
- python哪个代码是正确的字典_Python - 字典(dict) 详解 及 代码
字典(dict) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17291329 字典(dict)是表示映射的数据 ...
- Python 字典dict详解(超详细)
文章目录 Python内置函数/方法详解-字典dict 1.创建字典 1.1 字典键的特性 2.访问字典值 2.1 直接访问 2.2 for循环遍历 2.3 检查键是否存在 2.4 嵌套字典 3.内置 ...
- Python字典(dict)详解
文章目录: 一.字典(dict)的概念: 二.字典(dict)的定义: 1.一般格式: 2.空字典: 3.举例: 注意: 三.字典(dict)的一些基本操作: 1.增: 2.删: 3.查: 4.改: ...
- 汽车知识入门篇之汽车参数详解
许多消费者在购车之前都会先关注车型的口碑,这是很实用的方法.不过读懂参数可能更方便找到满足自身需求的车型. 一.汽车的主要结构参数和性能参数 汽车的主要特征和技术特性随所装用的发动机类型和特性的不同, ...
- Python学习基础必备知识点:字典dict详解
取键值 1.Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None. get() 和 setde ...
- Python中字典(dict)详解
python字典: 一个映射对象将可散列的值映射到任意对象.映射类型是可变的对象.当前只有一种标准的映射类型,即字典.用作键值的数字类型遵循正常的数值比较规则:如果两个数是相等的(例如1和1.0) ...
- python基础:zip和dict详解
一.zip函数:接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. 1.示例1: x = [1, 2, 3]y = [4, 5, 6]z = [7, 8, 9]xyz = zip(x ...
- 【python笔记】:字典类型详解
目录 字典: 创建字典 1.直接创建 2,用dict()函数创建 3.用方法fromkeys(seq[, value])创建 字典的排序 字典的基本操作: 键值查找 字典更新: 添加元素: 成员判断 ...
- c语言入门篇:注释定界符详解
c语言的注释定界符是什么 1.最早期的C语言注释是:/**/ 2.后来又增加的行注释:// 其中/**/是多行注释,//是单行注释. 需要注意的是:C语言的注释并不是可以出现在C语言代码的任何地方. ...
最新文章
- 微软职位内部推荐-Principal Dev Manager
- c语言cnn实现ocr字符,端到端的OCR:基于CNN的实现
- 查看mysql日志大小,SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
- python jieba 文本相似度_文本相似度分析(基于jieba和gensim)
- PHP测试使用postman发送post请求,却报错此接口不支持get请求的原因
- python发邮件有什么意思_python发邮件要装什么
- C++中 char *s 和 char s[] 的区别
- php递归 返回数组,php 递归 无限级分类并返回数组的例子
- Android移动开发基础案例教程 第2章 Android UI开发
- 2021-05-15 SqlServer面试题 通用篇
- 用手画了11张图终于搞明白了Git工作流,我怀疑你用的是假 Git
- 为什么登录赛尔号显示服务器未开启,赛尔号之勇者无敌无法打开怎么办 赛尔号之勇者无敌登录不了解决方案...
- 关于特征筛选中的IV值
- 离线强化学习-2重要性采样和Duality介绍(劝退版)
- u盘正常接入后计算机无法看到,U盘连接到电脑之后,电脑无反应怎么办?
- PHOTOSHOP给MM去斑的最简单方法
- 【对抗攻击论文笔记】Enhancing the Transferability of Adversarial Attacks through Variance Tuning
- 月薪30k和月薪15k的区别,程序员要迈的第一个门槛~
- LeetCode算法题解 414-第三大的数
- 一款JAVA快速开发平台,多项目整合,给开发提提速
热门文章
- NWPU-Crowd
- AH00526: Syntax error on line 534 of D:/Apache/Apache24/conf/httpd.conf: PHP
- 【我的架构师之路】- golang源码分析之协程调度器底层实现( G、M、P)
- linux 标准背光设备,linux背光子系统(backlight)
- QT painter控件绘制指示灯
- 如何选用计算机系统,台式机电脑系统应该如何选择,如何选择适合自己电脑的系统...
- 高德地图、百度地图、腾讯地图坐标相互转换
- java main 运行_使用maven运行Java Main的三种方法解析
- QGC 地面站中获取电压完整教程(QGC中无法获取APM电压)
- 八道经典的面试链表题--------快乐人的java巩固日记[1]