python字典一些常见的魔法方法以及遇到的面试题有哪些

技术python字典一些常见的魔法方法以及遇到的面试题有哪些本篇文章给大家分享的是有关python字典一些常见的魔法方法以及遇到的面试题有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,

本文是分享一些关于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

(0)

相关推荐

  • vscode常用pythonexcel插件(vscode有没有pb插件)

    技术vscode+babel然后开发一个智能移除未使用变量的插件本篇文章给大家分享的是有关vscode+babel然后开发一个智能移除未使用变量的插件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有

    攻略 2021年12月22日
  • 如何用源码分析canal的deployer模块

    技术如何用源码分析canal的deployer模块这期内容当中小编将会给大家带来有关如何用源码分析canal的deployer模块,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Cana

    攻略 2021年10月27日
  • MybatisPlus代码如何自动生成以及配置

    技术MybatisPlus代码如何自动生成以及配置这期内容当中小编将会给大家带来有关MybatisPlus代码如何自动生成以及配置,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Auto

    攻略 2021年10月21日
  • 绩麻的读音,昼出耘田夜绩麻全首诗什么意思

    技术绩麻的读音,昼出耘田夜绩麻全首诗什么意思首句“昼出耘田夜绩麻”是说:白天下田去除草,晚上搓麻线绩麻的读音。“耘田”即除草。初夏,水稻田里秧苗需要除草了。这是男人们干的活。“绩麻”是指妇女们在白天干完别的活后,晚上就搓

    生活 2021年10月25日
  • Hibernate持久化类怎么用

    技术Hibernate持久化类怎么用这篇文章主要介绍了Hibernate持久化类怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Hibernate持久

    攻略 2021年12月1日
  • 提升Azure App Service的几个建议分别是什么

    技术提升Azure App Service的几个建议分别是什么这篇文章将为大家详细讲解有关提升Azure App Service的几个建议分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后

    攻略 2021年11月18日