python字典的特点是什么_「小白学Python」5分钟精通Python字典类型

cc11728b4710b9121a9c17062658c10593452211.jpeg?token=73c6eb35c105915e188191fcaf1deaee&s=BAA1E5480BB0BDCA5AD4E50B0000E0CB

知识回顾:

「小白学Python」Python列表基础:它包罗万象,却动若脱兔

「小白学Python」Python列表进阶:6函数 9方法 列表随心用

字典(dictionary),我们能联想到什么?一本厚厚的辞海?还是一本牛津字典?不论想到什么字典,使用字典的方法都差不多,那就是①找到单词的页码②找到对应内容。Python中的字典也是一样,字典中的对象不是单个单元素,而是一个键值对,包括了页码和内容。

字典的作用

你可能会问,我们用列表的索引不就解决问题了吗,为啥要费劲在弄个键值对呢。试想一下,如果有一个人的信息列表:

["小明","30","183","75"] 分别代表名字、年龄、身高、体重。

现在我们想要得到他的身高,我们就得去列表里找他的身高的索引。问题是我们也不知道哪个数字代表身高啊,万一身高是75厘米呢?

这时候,如果能给这些数据加上一个关键字Keyword就好办多了,就好像:

{"姓名":"小明","年龄":30, "身高":183, "体重":75}

现在我们再想找他的身高,只需要根据关键字就能找到身高的数值了。这就是字典的作用。

创建字典

在刚才的例子中其实已经展示了字典的创建方法。

就是用一个大括号{}括起来,键和值之间用冒号:隔开,而键值对之间用逗号,隔开。

例如:

dict_name = {"姓名" : "张飞", "国籍" : "蜀国", "身高" : "185", "爱好" : "喝酒"}

这样就创建了一个dict_name字典,字典里面有4个键值对。

访问字典

如何访问字典呢?原来常用的通过索引访问的方法还能行得通么?显然不行了。

b812c8fcc3cec3fd853bbde7302de93986942742.jpeg?token=7c04cfab4c17650082c3b4ebb7ed3e2a&s=A0C2B14C3EE0BF6C00D40D0B0000E0C1用索引不能访问列表

我们用字典就是因为他有关键字,方便查找。用关键字来访问内容才是正路。

访问字典的两种方法:

1、dict['Keywords'] 返回Keywords指向的值。

b219ebc4b74543a992fe0394fbb2b784b8011428.jpeg?token=c473ab66c4435a1635ec38cec9ff828e&s=A1C2B1463FE095600854008E0000E0C1通过关键字访问

如果字典里没有这个关键字,系统就会报错。

b90e7bec54e736d16fe7a6ba7ef572c4d4626933.jpeg?token=a02a835d64372457ba534a629f76b5e4&s=A0C2B1443BE0B76C12544C0E0200E0C2找不到key就会报错

2、使用dict.get(Keywords, value)

这个方法与第一个一样,也是访问Keywords的值,不过如果没找到,不会报错,而是默认返回None,或者返回指定值。

c8177f3e6709c93d6a83b9457a98c5dad00054be.jpeg?token=71a94e02facec7142309068dd8206a50&s=E0C2B7401BA89D6C4CC1280F0300E0C2使用dict.get( )不会报错

字典的增删改

1、向字典里增加内容,同样要增加一对键值。

3801213fb80e7becfeb085acca8b843e9a506b45.jpeg?token=03973c5467daae34541598084d456089&s=E8C2B544DFE0B9701A5CF80F010070C1增加一对键值

2、使用dict.fromkeys(seq, value)将一个列表List、元祖Tuple、字符串Str其中的元素,作为字典的Key,初始值如果不设定,默认为None。

21a4462309f7905293c76245e956eacc7acbd518.jpeg?token=f5d99cf9e9fc67a338d1af7260dacae7&s=E8C2A5441FE0BD604CCC6D8E0300E0C2将一个序列变为字典中的ke'y

3、复制一个新的字典。

如果用赋值的方式,则和列表一样,是一个"假"字典,原字典变化时,新字典也会跟着改变。

一个全新的,独立自主的字典,需要使用dict.copy( )方法。

728da9773912b31b5dd0027b63bd0b7cdbb4e155.jpeg?token=fd10a556212e639e9c5515fde2c77800&s=A0C2B5441FE0A16012404C0F0300E0C2用copy( ) 是新字典,赋值不是新字典

4、修改字典内的键值对

字典只能够修改key对应的值,而不能修改key值!修改方法直接赋值即可。

cefc1e178a82b901a7ed05d1952894713812ef39.jpeg?token=ac5c5b2816f3b17bbea270cde0abc78b&s=A0C2B7441EA1B16C0258048F0100E0C2key不能修改

5、字典的删除操作

第一种 删除一个键值对,使用del指令。只需要删除键,就把这个键值对删除了。

例如:张飞爱喝酒,刘备给他约法三章,严禁喝酒,于是……

eaf81a4c510fd9f9693b0e0ec088e92c2934a4d1.jpeg?token=87a36669b572d4fdd65df3e89f4a2b79&s=E8C2B5441BE1B96010C8499B0300F0C2del 删除一个键值对

第二种 清空字典,这里需要用到 .clear( )方法

例如:阿斗本来是有数据的,被刘备摔傻了,脑子里啥都没有了。

08f790529822720e2493224a9e6e3740f31fab49.jpeg?token=546bf4d8dfc86df8409edc01ace04db2&s=E0D231C01BE0BD6040D8990F0100E0C3clear( ) 清空,但字典还在

但是阿斗还活着,只是脑子里的东西没了。也就是说用.clear( )方法,字典还存在,只是内容被清空了。

第三种 删除整个字典,还是用del指令。这次删除的是整个字典,不需要指定字典的键。

例如:鞠躬尽瘁的诸葛亮病死五丈原。

908fa0ec08fa513dd5fb4234dbc868fdb3fbd937.jpeg?token=9b216211125b5ab66f2e86ef4f0ac6bc&s=A0D235C84FA0896000D0089B0300F082del 删除整个字典,不可再访问

诸葛亮死后(del之后),这个字典就永久消失了,不能够再次访问。

第四种 popitem( ) 删除字典里最后一个键值对。pop(key, defalt) 删除字典里key对应的值,并将这个值返回。

f636afc379310a55c2c48cf052e07eaf83261079.jpeg?token=d8cf5126f7b0bfcfd48482c4960d66b3&s=A0D235C01FE0BB60167CCC0E010070C2两个删除方法

字典的迭代函数

有时候为了方便对字典进行操作,我们需要把字典编程列表。将字典编程列表需要用到迭代器,字典带有三个重要的迭代器:.items( ) .keys( ) .values( )。

1、items( )的用法

用两个参数(i, j)来遍历字典,顺序是 第一个key,第一个key的值,第二个key,第二个key的值……

500fd9f9d72a6059da95faf9ce91099d013bbafc.jpeg?token=6fe45df5bf5c09e535bf15e48ef8c86e&s=E0C2B546FAACB76C4EE50D8F0000F0C2items( )可以将整个字典遍历下来

2、key( )的用法

先用key( )将字典里的key全部提取出来,再用list( )转化为列表。

35a85edf8db1cb13405c7af53bf16b4893584b4e.jpeg?token=6c01b147ef17bea09f960398947ab43e&s=E0C2B1441FA4956010584C0F0100E0C2key( )可以将key遍历下来

3、value( )的用法

将字典里的值取出来,并用list( )函数转化为列表。

4afbfbedab64034f75e7316b4a6644370b551de4.jpeg?token=4717b8fac4489a9dd3e5a3e7fa8eb005&s=E0C2B1440FE0BF6000D86D0F0100E0C2value( )可以将值遍历下来

字典的用途很广泛,知识点也比较多,还需要多时间和操作,才能牢固掌握。

bba1cd11728b47104d93781d256bfefbfe0323cb.jpeg?token=39f13d9d39049b25199bfe8c5539ac9b&s=4DA83C72031B406D0E7DE1DA0000C0B2字典的思维导图

往期知识:

「小白学Python」Python元祖:不改变是我最大的特点

「小白学Python」Windows系统下Python的安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值