Python面试必刷题系列(3)

下面给大家分享的是python面试必刷题系列文章,后面会陆续整理更多python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷。

1. 已知 list0 = [1,2,3,1,2],请对 list0中的元素去重,但是需要保证原有顺序。

list0 = [1,0,3,7,7,5]
format_list = list(set(list0))
format_list.sort(key=list0.index)
print (format_list)

2. 按照下面列表中的字典key:年龄进行降序排序

d1 = [
    {'name':'alice', 'age':38},
    {'name':'bob', 'age':18},
    {'name':'Carl', 'age':28},
]

代码:

sorted(d1,key = lambda x : x["age"], reverse=True)

3. 说说Python3 和 Python2 之间的区别?

  • import方式:Py3是以绝对路径的方式进行import,Py2则是相对路径方式。
  • 新老式类:Python中的类为多继承方式。Py2中的类有两种:新式类和经典类(区别:新式类继承自object,多继承时属性搜索顺序为广度优先,而经典类不继承object,搜索顺序为深度优先),Py3中都是新式类。
  • 字符编码:

​ (1) 默认编码方式:Py2是ASCII 码,Py3是Unicode;

​ (2) 字符串存储方式的不同:

py2:
    unicode         v = u"root"    本质上用unicode存储(万国码)
    (str/bytes)     v = "root"     本质用字节存储
py3:
    str             v = "root"     本质上用unicode存储(万国码)
    bytes           v = b"root"    本质上用字节存储
  • print函数:Py2中print是语句,不需要();Py3中print是函数,必须加()。
  • 除法运算:Py2的除法:10/3=3:Py3:10//3=3 ;10/3=3.3333333333333335
  • range:Py2中,range的结果是list类型,xrange的结果是生成器(更高效) ;Py3中,range结果就是生成器,xrange被废弃。
  • dict返回迭代结果:Py3中dict的.keys()、.items() 和.values()方法返回迭代器而不是Py2中的list,Py2中的iterkeys()等函数被废弃。
  • long数据类型:Py3去除了long类型,现在只有一种整型——int,但它的行为就像Py2版本的long
  • 键盘输入的区别:Py2:raw_input( "提示信息" );Py3:input( "提示信息" )
  • 库的变化:这个就太多啦~~
  • 其他变化:参考:https://www.cnblogs.com/feifeifeisir/p/9599218.html

4. 一行代码展开该列表[[1,2],[3,4],[5,6]],得出[1,2,3,4,5,6]

[j for i in a for j in i]

5. 字典操作中 del 和 pop 有什么区别?

  • pop(key [, default ] ) pop会返回被删除的值,如果没有返回default。
  • del也是删除key,但是不返回key对应的value。

6. 简述解释型和编译型编程语言

【编译型语言】

把源程序全部编译成二进制代码形式的可直接执行程序。

特点:执行速度快、效率高、占内存少;跨平台性差、程序难于调试。

例子:C、C++

【解释型语言】

不需要预先编译,源程序由解释器解释一句执行一句,直到结束。

特点:执行速度慢、效率低、占内存高(因为运行时需要启动解释器);便于调试、跨平台性好(有相应解释器就行)。

例子:Python、Java、JavaScript

需要注意的是:

java是一类特殊的编程语言,Java程序也需要编译,但是却没有直接编译为机器语言,而是编译为字节码,然后在Java虚拟机上以解释方式执行字节码。

7. 求列表list1和list2中元素的交集,并集和差集

set1, set2 = set(list1), set(list2)
print set1&set2, set1|set2, set1-set2, set2-set1

8. 合并两个字典 a 和 b 有哪些方法?

dict(a, **b)
dict(a.items() + b.items())
c = {}  c.update(a)  c.update(b)

9. Python 解释器种类以及相关特点?

Python程序需要经过解释器解释后才能执行,可以基于不同语言开发解释器,以下五种Python解释器最常见:

  • CPython:官方解释器,C语言开发,使用最广泛。
  • IPython:基于CPython的一个交互式解释器,只增强了CPython的交互性,其他不变。
  • PyPy:采用JIT技术,对Python代码进行动态编译,执行速度显著提升。
  • Jython:运行在Java平台上的解释器,把Python代码直接编译成Java字节码执行。
  • IronPython:运行在微软.NET平台上的解释器,把Python代码直接编译成.NET字节码执行。

10. 如何把元组("a","b")和元组(1,2),变为字典{"a":1,"b":2}

dict([(k, v) for k, v in zip(a, b)])

11. 一行代码交换字典d = {"A" : 1,"B" : 2}的键和值?

dict([(v,k) for k,v in d.items()])

12. 请将[i for i in range(3)]改成生成器

(i for i in range(3))

13. 如何区别可变数据类型和不可变数据类型

  • 不可变数据类型:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。比如:int,str,tuple
  • 可变数据类型:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。比如:list,set,dict
  • 总结:不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变

注意:

元组被定义为:只读列表,即数据可以被查询,但不能被修改。当我们修改元组的内容时,发现其内存地址不会变。

14. 如何打乱一个list中的元素?

from random import shuffle
mylist=[0,1,2,3,4,5,6,7,8]
shuffle(mylist)
print(mylist)
欢迎关注-算法研习社.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,999评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,102评论 1 302
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,709评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,439评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,846评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,881评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,062评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,783评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,517评论 1 248
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,762评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,241评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,236评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,145评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,941评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,965评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,802评论 2 275

推荐阅读更多精彩内容