字典的特点是什么"/>
python字典的特点是什么
知识回顾:
「小白学Python」Python列表基础:它包罗万象,却动若脱兔
「小白学Python」Python列表进阶:6函数 9方法 列表随心用
字典(dictionary),我们能联想到什么?一本厚厚的辞海?还是一本牛津字典?不论想到什么字典,使用字典的方法都差不多,那就是①找到单词的页码②找到对应内容。Python中的字典也是一样,字典中的对象不是单个单元素,而是一个键值对,包括了页码和内容。
字典的作用
你可能会问,我们用列表的索引不就解决问题了吗,为啥要费劲在弄个键值对呢。试想一下,如果有一个人的信息列表:
["小明","30","183","75"] 分别代表名字、年龄、身高、体重。
现在我们想要得到他的身高,我们就得去列表里找他的身高的索引。问题是我们也不知道哪个数字代表身高啊,万一身高是75厘米呢?
这时候,如果能给这些数据加上一个关键字Keyword就好办多了,就好像:
{"姓名":"小明","年龄":30, "身高":183, "体重":75}
现在我们再想找他的身高,只需要根据关键字就能找到身高的数值了。这就是字典的作用。
创建字典
在刚才的例子中其实已经展示了字典的创建方法。
就是用一个大括号{}括起来,键和值之间用冒号:隔开,而键值对之间用逗号,隔开。
例如:
dict_name = {"姓名" : "张飞", "国籍" : "蜀国", "身高" : "185", "爱好" : "喝酒"}
这样就创建了一个dict_name字典,字典里面有4个键值对。
访问字典
如何访问字典呢?原来常用的通过索引访问的方法还能行得通么?显然不行了。
用索引不能访问列表
我们用字典就是因为他有关键字,方便查找。用关键字来访问内容才是正路。
访问字典的两种方法:
1、dict['Keywords'] 返回Keywords指向的值。
通过关键字访问
如果字典里没有这个关键字,系统就会报错。
找不到key就会报错
2、使用dict.get(Keywords, value)
这个方法与第一个一样,也是访问Keywords的值,不过如果没找到,不会报错,而是默认返回None,或者返回指定值。
使用dict.get( )不会报错
字典的增删改
1、向字典里增加内容,同样要增加一对键值。
增加一对键值
2、使用dict.fromkeys(seq, value)将一个列表List、元祖Tuple、字符串Str其中的元素,作为字典的Key,初始值如果不设定,默认为None。
将一个序列变为字典中的ke'y
3、复制一个新的字典。
如果用赋值的方式,则和列表一样,是一个"假"字典,原字典变化时,新字典也会跟着改变。
一个全新的,独立自主的字典,需要使用dict.copy( )方法。
用copy( ) 是新字典,赋值不是新字典
4、修改字典内的键值对
字典只能够修改key对应的值,而不能修改key值!修改方法直接赋值即可。
key不能修改
5、字典的删除操作
第一种 删除一个键值对,使用del指令。只需要删除键,就把这个键值对删除了。
例如:张飞爱喝酒,刘备给他约法三章,严禁喝酒,于是……
del 删除一个键值对
第二种 清空字典,这里需要用到 .clear( )方法
例如:阿斗本来是有数据的,被刘备摔傻了,脑子里啥都没有了。
clear( ) 清空,但字典还在
但是阿斗还活着,只是脑子里的东西没了。也就是说用.clear( )方法,字典还存在,只是内容被清空了。
第三种 删除整个字典,还是用del指令。这次删除的是整个字典,不需要指定字典的键。
例如:鞠躬尽瘁的诸葛亮病死五丈原。
del 删除整个字典,不可再访问
诸葛亮死后(del之后),这个字典就永久消失了,不能够再次访问。
第四种 popitem( ) 删除字典里最后一个键值对。pop(key, defalt) 删除字典里key对应的值,并将这个值返回。
两个删除方法
字典的迭代函数
有时候为了方便对字典进行操作,我们需要把字典编程列表。将字典编程列表需要用到迭代器,字典带有三个重要的迭代器:.items( ) .keys( ) .values( )。
1、items( )的用法
用两个参数(i, j)来遍历字典,顺序是 第一个key,第一个key的值,第二个key,第二个key的值……
items( )可以将整个字典遍历下来
2、key( )的用法
先用key( )将字典里的key全部提取出来,再用list( )转化为列表。
key( )可以将key遍历下来
3、value( )的用法
将字典里的值取出来,并用list( )函数转化为列表。
value( )可以将值遍历下来
字典的用途很广泛,知识点也比较多,还需要多时间和操作,才能牢固掌握。
字典的思维导图
往期知识:
「小白学Python」Python元祖:不改变是我最大的特点
「小白学Python」Windows系统下Python的安装
更多推荐
python字典的特点是什么
发布评论