Python字典键值对的添加和遍历

Python字典键值对的添加和遍历,第1张

添加键值对

首先定义一个空字典

>>>dic={}

直接对字典中不存在的key进行赋值来添加

>>>dic['name']='zhangsan'

>>>dic

{'name': 'zhangsan'}

如果key或value都是变量也可以用这种方法

>>>key='age'

>>>value=30

>>>dic[key]=value

>>>dic

{'age': 30. 'name': 'zhangsan'}

这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表

从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的dump(s)/load(s)也是有序的

还可以用字典的setdefault方法

>>>dic.setdefault('sex','male')

'male'

>>>key='id'

>>>value='001'

>>>dic.setdefault(key,value)

'001'

>>>dic

{'id': '001', 'age': 30. 'name': 'zhangsan', 'sex': 'male'}

在很多的python库之中,我们可以看到有的时候,库作者会使用一些很特殊的“列表”或者“字典”。虽然他们看起来很像是一个列表或者字典,但是使用的方法却又不一样,这是因为那不是真的python中原本的列表和字典,而是作者自己创建的。那么,我们如何可以创建我们自己的列表和字典呢?

前后都使用两个下划线的方法,一般被称之为魔法方法,比如我们常见的 init ,就是一种魔法方法。一般来说,我们自行定义变量名的时候,不要定义很像是魔法方法的变量名。魔法方法被定义后,可以在适当的时候自动被调用,一般不需要手动对其进行调用。

在python中,实现一个序列,我们需要以下四种魔法方法

另外,一般来说,错误的键应当引发TypeError异常,而错误的索引应当引发IndexError异常

在python的列表中,只能够使用数字作为索引,如果使用字符串的数字的话,那么会引发异常。因此,我们可以尝试一下,对原始的列表进行扩充,使其可以接受字符串作为列表的索引。

注意,这样的自建列表,存在很多问题,几乎全部的关于列表的方法都不能再被使用了。

为了解决正常列表的方法不能再被使用,我们可以考虑直接继承list,以此得到普通列表的所有方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11615342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存