本文是分享一些关于python字典的常用魔术方法以及遇到了哪些面试问题。边肖觉得挺实用的,所以想分享给大家学习。希望大家看完这篇文章能有所收获。话不多说,让我们和边肖一起看看。
一、词典介绍。
Dict类型不仅广泛应用于各种程序中,也是Python语言的基石。字典可以在模块的命名空间、实例的属性和函数的关键字参数中看到。与之相关的内置函数都在_ _ builtins _ _中。__dict__模块。因为字典非常重要,Python对其实现进行了高度优化,哈希表是字典类型性能突出的根本原因。
与常规字典相比,OrderDict对象维护一个按照键插入顺序排序的双向链表,新插入的元素会放在链表的末尾,从而实现记住插入顺序的功能。但是在Python 3.7版本之后,内置字典已经达到了同样的能力,在Python 3.8版本中,提供了reversed()方法。因此,OrderDict不再必要。
第二,常用的映射方法:
1.检查k是否在字典D中.
d.__包含__(k)
2.让字典d以d[k]的形式返回键k对应的值。
d.__getitem__(k)
3.当__getitem__找不到相应的键时,将调用此方法。
d.__缺失__(k)
4.获取字典的属性值。
d.__getattribute__(*args,**kwargs)
5.如果字典中有关键字k,将其对应的值设置为default,然后返回该值;如果没有,让d[k]=default,然后返回default。
d.setdefault(k,[default])
第三,面试中遇到的问题。
1.字典以属性访问的方式访问元素。以dict[key]的方式获取值,如何访问字典元素的形式”。
class mydict(dict): def _ _ getattr _ _(self,item): try : return self[item]except : raise AttributeError(item)myd=mydict(a=1,b=2)print(myd.a)print(myd.c)
2.有一个字典,D1={“A”:(1,2,3)、“B”:(4,6,6)、“C”:(2,5,8)},值类型是元组,字典是根据值的第一个下标元素进行倒排的。d1排序后的结果是[('b ',(4,6,6)),(' c ',(2,5,8)),(' a ',(1,2,3))]。
d1={'a':(1,2,3),' b':(4,6,6),' c':(2,5,8)}res=sorted(d1.items(),key=lambdax:x[1][0],reverse=True)print(res)
3.有一个包含多个字典的列表,例如:
学生=[ { '姓名' : 'Stanley ','年龄' : 22,'分数' : 92},{ '姓名' : 'Peter ','年龄' : 19,'分数' : 99},{ '姓名' : 'Well ','年龄' : 23,'分数' : 82},{ '姓名' : 'Bob ','年龄' : 20,'分数' 23
把上面的数据排序,先按分数,再按年龄倒序。
from operatoriamportemgetterstudents _ by _ score _ age=sorted(学生,key=itemgetter('score ',' age '),reverse=True)
以上是python字典中常见的一些魔术方法和面试问题。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业资讯频道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/39954.html