欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年python面试题及答案 .pdf

    • 资源ID:32506122       资源大小:160.50KB        全文页数:25页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年python面试题及答案 .pdf

    1. Python 是如何进行内存管理的?答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制一、对象的引用计数机制python 内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况:1,一个对象分配一个新名称2,将其放入一个容器中(如列表、元组或字典)引用计数减少的情况:1,使用 del 语句对对象别名显示的销毁2,引用超出作用域或被重新赋值sys.getrefcount( )函数可以获得对象的当前引用计数多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。二、垃圾回收1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。2,当两个对象a 和 b 相互引用时, del 语句可以减少a 和 b 的引用计数, 并销毁用于引用底层对象的名称。然而由于每个对象都包含一个对其他对象的应用,因此引用计数不会归零,对象也不会销毁。 (从而导致内存泄露) 。为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。三、内存池机制Python 提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。1,Pymalloc 机制。为了加速Python 的执行效率, Python 引入了一个内存池机制,用于管理对小块内存的申请和释放。2,Python 中所有小于256 个字节的对象都使用pymalloc 实现的分配器,而大的对象则使用系统的 malloc。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 25 页 - - - - - - - - - 3,对于 Python 对象,如整数,浮点数和List,都有其独立的私有内存池,对象间不共享他们的内存池。 也就是说如果你分配又释放了大量的整数,用于缓存这些整数的内存就不能再分配给浮点数。2. 什么是 lambda 函数?它有什么好处? 答: lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数lambda 函数:首要用途是指点短小的回调函数lambda arguments:expression a=lambdax,y:x+y a(3,11) 3. Python 里面如何实现tuple 和 list 的转换?答:直接使用tuple 和 list 函数就行了,type()可以判断对象的类型4. 请写出一段Python 代码实现删除一个list 里面的重复元素答:1,使用 set 函数, set(list) 2,使用字典函数,a=1,2,4,2,4,5,6,5,7,8,9,0 b= b=b.fromkeys(a) c=list(b.keys() c 5. 编程用 sort 进行排序,然后从最后一个元素开始判断a=1,2,4,2,4,5,7,10,5,5,7,8,9,0,3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 25 页 - - - - - - - - - a.sort() last=a-1 for i inrange(len(a)-2,-1,-1): if last=ai: del ai else:last=ai print(a) 6. Python 里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)答: 赋值(=) , 就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。浅拷贝: 创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变)1,完全切片方法; 2,工厂函数,如list();3,copy 模块的 copy()函数 深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变) copy 模块的 deep.deepcopy() 函数 7. 介绍一下except 的用法和作用?答: tryexceptexceptelsefinally 执行 try 下的语句, 如果引发异常, 则执行过程会跳到except 语句。 对每个 except 分支顺序尝试执行, 如果引发的异常与except 中的异常组匹配,执行相应的语句。如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try 代码中。try 下的语句正常执行,则执行else 块代码。如果发生异常,就不会执行如果存在finally 语句,最后总是会执行。8. Python 中 pass 语句的作用是什么?答: pass语句不会执行任何操作,一般作为占位符或者创建占位程序,whileFalse:pass 9. 介绍一下Python 下 range()函数的用法?答:列出一组数据,经常用在for in range()循环中名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 25 页 - - - - - - - - - 10. 如何用 Python 来进行查询和替换一个文本字符串?答:可以使用re 模块中的sub()函数或者subn()函数来进行查询和替换,格式: sub(replacement, string,count=0) (replacement 是被替换成的文本,string 是需要被替换的文本, count 是一个可选参数,指最大被替换的数量) import re p=pile( blue|white|red)print(p.sub( colour ,blue socks and red shoes )colour socks and colourshoes print(p.sub( colour ,blue socks and red shoes ,count=1)colour socks and redshoes subn()方法执行的效果跟sub()一样, 不过它会返回一个二维数组,包括替换后的新的字符串和总共替换的数量11. Python 里面 match() 和 search()的区别?答: re 模块中 match(pattern,string,flags), 检查 string 的开头是否与pattern 匹配。re 模块中 research(pattern,string,flags), 在 string 搜索 pattern 的第一个匹配值。print(re.match( super , superstition ).span()(0, 5) print(re.match( super , insuperable )None print(re.search( super , superstition ).span()(0, 5) print(re.search( super , insuperable ).span()(2, 7) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 25 页 - - - - - - - - - 12. 用 Python 匹配 HTML tag 的时候, 和有什么区别?答:术语叫贪婪匹配( )和非贪婪匹配 ( ) 例如 : test :test : 13. Python 里面如何生成随机数?答: random 模块随机整数: random.randint(a,b) :返回随机整数x,a=xsmall_list_sum: return ( (big_list,small_list) else: return ( small_list,big_list) tests = 1,2,3,4,5,6,700,800, 10001,10000,100,90,50,1, range(1, 11), 12312, 12311, 232, 210,30, 29, 3, 2, 1, 1 for l in tests: l.sort() print print “ Source List:t ” ,ll1,l2 = mean(l) print “ Result List:t ” ,l1, l2print “ Distance:t ” ,abs(sum(l1)-sum(l2) print -* *40输出结果Python 代码Source List: 1, 2, 3, 4, 5, 6, 700, 800 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 25 页 - - - - - - - - - Result List: 1, 4, 5, 800 2, 3, 6, 700 Distance: 99 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Source List: 1, 50, 90, 100, 10000, 10001 Result List: 50, 90, 10000 1, 100, 10001 Distance: 38 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Source List: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Result List: 2, 3, 6, 7, 10 1, 4, 5, 8, 9 Distance: 1 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Source List: 1, 1, 2, 3, 29, 30, 210, 232, 12311, 12312 Result List: 1, 3, 29, 232, 12311 1, 2, 30, 210, 12312 Distance: 21 20. python 程序中文输出问题怎么解决?方法一:用 encode 和 decode 如:import os.path import xlrd,sys Filename= /home/tom/Desktop/1234.xlsif not os.path.isfile(Filename): raise NameError,” %s is not a valid filename” %Filenamebk=xlrd.open_workbook(Filename) shxrange=range(bk.nsheets) print shxrange 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 25 页 - - - - - - - - - for x in shxrange: p=bk.sheets()x.name.encode( utf-8) print p.decode( utf-8) 方法二:在文件开头加上reload(sys) sys.setdefaultencoding( utf8)这 2 行,再试着运行一下字符串在Python 内部的表示是unicode 编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode) 成 unicode, 再从 unicode 编码 (encode)成另一种编码。decode 的作用是将其他编码的字符串转换成unicode 编码,如str1.decode(gb2312) ,表示将 gb2312 编码的字符串str1 转换成 unicode 编码。encode 的作用是将unicode 编码转换成其他编码的字符串,如str2.encode(gb2312) ,表示将 unicode 编码的字符串str2 转换成 gb2312 编码。因此,转码的时候一定要先搞明白,字符串str 是什么编码,然后decode 成 unicode,然后再 encode 成其他编码代码中字符串的默认编码与代码文件本身的编码一致。如: s=中文 如果是在utf8 的文件中,该字符串就是utf8 编码,如果是在gb2312 的文件中,则其编码为gb2312。这种情况下, 要进行编码转换, 都需要先用decode 方法将其转换成unicode 编码,再使用 encode 方法将其转换成其他编码。通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。如果字符串是这样定义:s=u中文 则该字符串的编码就被指定为unicode 了,即python 的内部编码,而与代码文件本身的编码无关。因此,对于这种情况做编码转换,只需要直接使用encode 方法将其转换成指定编码即可。如果一个字符串已经是unicode 了,再进行解码则将出错,因此通常要对其编码方式是否为unicode 进行判断:isinstance(s,unicode) #用来判断是否为unicode 用非 unicode 编码形式的str 来 encode 会报错名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 25 页 - - - - - - - - - 如何获得系统的默认编码?#!/usr/bin/env python #coding=utf-8 import sys print sys.getdefaultencoding() 该段程序在英文WindowsXP 上输出为: ascii 21. python 代码得到列表list 的交集与差集交集b1=1,2,3 b2=2,3,4 b3 = val for val in b1if val in b2 print b3 差集b1=1,2,3 b2=2,3,4 b3 = val for val in b1 if val not in b2 print b3 差集实例 - #/bin/env python # -*- coding:utf-8 -*- f =open( C:excel.txt)excel = f.readlines() f.close() f= open( C:db.txt)db = f.readlines() diff = val for val in db if val not in excel f.close() f =open( C:diff.txt , w)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 25 页 - - - - - - - - - f.writelines(diff) f.close() print diff 22. 写一个简单的python socket 编程python 编写 server 的步骤:1 第一步是创建socket 对象。调用socket 构造函数。如:socket = socket.socket(family, type ) family 参数代表地址家族, 可为 AF_INET或 AF_UNIX。 AF_INET家族包括 Internet 地址, AF_UNIX家族用于同一台机器上的进程间通信。type 参数代表套接字类型,可为SOCK_STREAM( 流套接字 )和 SOCK_DGRAM( 数据报套接字)。2.第二步是将socket 绑定到指定地址。这是通过socket 对象的 bind 方法来实现的:socket.bind( address )由 AF_INET所创建的套接字,address 地址必须是一个双元素元组,格式是 (host,port) 。host 代表主机, port 代表端口号。如果端口号正在使用、主机名不正确或端口已被保留,bind 方法将引发socket.error 异常。3.第三步是使用socket 套接字的 listen 方法接收连接请求。socket.listen( backlog ) backlog 指定最多允许多少个客户连接到服务器。它的值至少为1。收到连接请求后,这些请求需要排队,如果队列满,就拒绝请求。4.第四步是服务器套接字通过socket 的 accept 方法等待客户请求一个连接。connection, address =socket.accept() 调用 accept 方法时, socket 会时入“ waiting ”状态。客户请求连接时,方法建立连接并返回服务器。accept 方法返回一个含有两个元素的元组(connection,address) 。第一个元素connection 是新的 socket 对象,服务器必须通过它与客户通信;第二个元素address 是客户的 Internet 地址。5. 第五步是处理阶段,服务器和客户端通过send 和 recv 方法通信 (传输数据 )。服务器调用send,并采用字符串形式向客户发送信息。send 方法返回已发送的字符个数。服务器使用recv 方法从客户接收信息。调用recv 时,服务器必须指定一个整数,它对应于可通过本次名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 25 页 - - - - - - - - - 方法调用来接收的最大数据量。recv 方法在接收数据时会进入“blocked”状态,最后返回一个字符串,用它表示收到的数据。如果发送的数据量超过了recv 所允许的,数据会被截短。多余的数据将缓冲于接收端。以后调用recv 时,多余的数据会从缓冲区删除(以及自上次调用 recv 以来,客户可能发送的其它任何数据)。6. 传输结束,服务器调用socket 的 close 方法关闭连接。python 编写 client 的步骤:1. 创建一个 socket 以连接服务器:socket= socket.socket( family, type ) 2.使用 socket 的 connect 方法连接服务器。对于AF_INET家族 ,连接格式如下:socket.connect(host,port) ) host 代表服务器主机名或IP,port 代表服务器进程所绑定的端口号。如连接成功, 客户就可通过套接字与服务器通信,如果连接失败,会引发socket.error 异常。3. 处理阶段,客户和服务器将通过send 方法和 recv 方法通信。4. 传输结束,客户通过调用socket 的 close 方法关闭连接。下面给个简单的例子:server.py if _name_ =_main_: import socket sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.bind(localhost,8001) sock.listen(5) while True: connection,address =sock.accept() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 25 页 - - - - - - - - - try: connection.settimeout(5) buf =connection.recv(1024) if buf = 1: connection.send(welcometo server!) else: connection.send(pleasego out!) except socket.timeout: print time out connection.close() client.py python 代码if _name_ =_main_: import socket sock =socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(localhost,8001) import time time.sleep(2) sock.send(1) print sock.recv(1024) sock.close() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 25 页 - - - - - - - - - 在终端运行server.py,然后运行clien.py,会在终端打印“welcometo server! 。如果更改client.py 的 sock. 23. Python 文件操作的面试题1. 如何用 Python 删除一个文件?使用 os.remove(filename) 或者 os.unlink(filename); 2. Python 如何 copy 一个文件?shutil 模块有一个copyfile 函数可以实现文件拷贝1:Python 如何实现单例模式?Python 有两种方式可以实现单例模式,下面两个例子使用了不同的方式实现单例模式:1. class Singleton(type): def _init_(cls, name, bases, dict): super(Singleton, cls)._init_(name, bases, dict) cls.instance = None def _call_(cls, *args, *kw): if cls.instance is None: cls.instance = super(Singleton, cls)._call_(*args, *kw) return cls.instance class MyClass(object): _metaclass_ = Singleton print MyClass() print MyClass() 2. 使用 decorator 来实现单例模式def singleton(cls): instances = def getinstance(): if cls not in instances: instancescls = cls() return instancescls return getinstance singleton class MyClass: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 25 页 - - - - - - - - - 2:什么是lambda 函数?Python 允许你定义一种单行的小函数。定义 lambda 函数的形式如下:labmda 参数: 表达式lambda 函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda 函数可以接受任意个参数,包括可选参数,但是表达式只有一个: g = lambda x, y: x*y g(3,4) 12 g = lambda x, y=0, z=0: x+y+z g(1) 1 g(3, 4, 7) 14 也能够直接使用lambda 函数,不把它赋值给变量: (lambda x,y=0,z=0:x+y+z)(3,5,6) 14 如果你的函数非常简单,只有一个表达式,不包含命令,可以考虑lambda 函数。否则,你还是定义函数才对,毕竟函数没有这么多限制。3:Python 是如何进行类型转换的?Python 提供了将变量或值从一种类型转换成另一种类型的内置函数。int 函数能够将符合数学格式数字型字符串转换成整数。否则,返回错误信息。 int(”34) 34 int(”1234ab” ) #不能转换成整数ValueError: invalid literal for int(): 1234ab 函数 int 也能够把浮点数转换成整数,但浮点数的小数部分被截去。 int(34.1234) 34 int(-2.46) -2 函数 oat 将整数和字符串转换成浮点数: float(”12) 12.0 float(”1.111111) 1.111111 函数 str 将数字转换成字符: str(98) 98 str(”76.765) 76.765名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 25 页 - - - - - - - - - 整数 1 和浮点数1.0 在 python 中是不同的。虽然它们的值相等的,但却属于不同的类型。这两个数在计算机的存储形式也是不一样。4:Python 如何定义一个函数函数的定义形式如下:def (arg1, arg2, argN): 函数的名字也必须以字母开头,可以包括下划线“”,但不能把 Python 的关键字定义成函数的名字。函数内的语句数量是任意的,每个语句至少有一个空格的缩进,以表示此语句属于这个函数的。缩进结束的地方,函数自然结束。下面定义了一个两个数相加的函数: def add(p1, p2): print p1, “ +” , p2, “ =” , p1+p2 add(1, 2) 1 + 2 = 3 函数的目的是把一些复杂的操作隐藏,来简化程序的结构,使其容易阅读。函数在调用前,必须先定义。也可以在一个函数内部定义函数,内部函数只有在外部函数调用时才能够被执行。程序调用函数时,转到函数内部执行函数内部的语句,函数执行完毕后,返回到它离开程序的地方,执行程序的下一条语句。5:Python 是如何进行内存管理的?Python 的内存管理是由Python 得解释器负责的, 开发人员可以从内存管理事务中解放出来,致力于应用程序的开发,这样就使得开发的程序错误更少,程序更健壮,开发周期更短6:如何反序的迭代一个序列?howdo I iterate over a sequence in reverse order 如果是一个list, 最快的解决方案是:list.reverse() try: for x in list: “do something with x”finally: list.reverse() 如果不是list, 最通用但是稍慢的解决方案是:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 25 页 - - - - - - - - - for i in range(len(sequence)-1, -1, -1): x = sequencei 7:Python 里面如何实现tuple 和 list 的转换?函数 tuple(seq) 可以把所有可迭代的(iterable)序列转换成一个tuple, 元素不变,排序也不变。例如, tuple(1,2,3) 返回 (1,2,3),tuple( abc)返回 (a.b,c).如果参数已经是一个tuple的话,函数不做任何拷贝而直接返回原来的对象,所以在不确定对象是不是tuple 的时候来调用 tuple() 函数也不是很耗费的。函数 list(seq)可以把所有的序列和可迭代的对象转换成一个list,元素不变,排序也不变。例如list(1,2,3) 返回 (1,2,3),list( abc)返回 a, b, c 。如果参数是一个list,她会像 set: 一样做一个拷贝8:Python 面试题:请写出一段Python 代码实现删除一个list 里面的重复元素可以先把list 重新排序,然后从list 的最后开始扫描,代码如下:if List: List.sort() last = List-1 for i in range(len(List)-2, -1, -1): if last=Listi: del Listi else: last=Listi 9:Python 文件操作的面试题1. 如何用 Python 删除一个文件?使用 os.remove(filename) 或者 os.unlink(filename); 2. Python 如何 copy 一个文件?shutil 模块有一个copyfile 函数可以实现文件拷贝10:Python 里面如何生成随机数?标准库 random 实现了一个随机数生成器,实例代码如下:import random random.random() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 25 页 - - - - - - - - - 它会返回一个随机的0 和 1 之间的浮点数11:如何用Python 来发送邮件?可以使用smtplib 标准库。以下代码可以在支持SMTP监听器的服务器上执行。import sys, smtplib fromaddr = raw_input(” From: “)toaddrs = raw_input(” To: “ ).split( ,)print “ Enter message, end with D:”msg = ”while 1: line = sys.stdin.readline() if not line: break msg = msg + line # 发送邮件部分server = smtplib.SMTP( localhost)server.sendmail(fromaddr, toaddrs, msg) server.quit() 12:Python 里面如何拷贝一个对象?一般来说可以使用copy.copy()方法或者copy.deepcopy()方法,几乎所有的对象都可以被拷贝一些对象可以更容易的拷贝,Dictionaries 有一个 copy 方法:newdict = olddict.copy() 13:有没有一个工具可以帮助查找python 的 bug 和进行静态的代码分析?有,PyChecker 是一个 python 代码的静态分析工具,它可以帮助查找python 代码的 bug, 会对代码的复杂度和格式提出警告Pylint 是另外一个工具可以进行coding standard 检查。14:如何在一个function 里面设置一个全局的变量?解决方法是在function 的开始插入一个global 声明:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 25 页 - - - - - - - - - def f() global x 14:有两个序列a,b,大小都为n,序列元素的值任意整形数,无序;要求:通过交换a,b 中的元素,使 序列 a 元素的和 与序列 b 元素的和 之间的差最小。1. 将两序列合并为一个序列,并排序,为序列Source 2. 拿出最大元素Big,次大的元素Small 3. 在余下的序列S:-2进行平分,得到序列max,min 4. 将 Small 加到 max 序列,将 Big 加大 min 序列,重新计算新序列和,和大的为max,小的为 min。Python 代码def mean( sorted_list ): if not sorted_list: return (,) big = sorted_list-1 small = sorted_list-2 big_list, small_list = mean(sorted_list:-2) big_list.append(small) small_list.append(big) big_list_sum = sum(big_list) small_list_sum = sum(small_list) if big_list_sum small_list_sum: return ( (big_list, small_list) else: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 25 页 - - - - - - - - - return ( small_list, big_list) tests = 1,2,3,4,5,6,700,800, 10001,10000,100,90,50,1, range(1, 11), 12312, 12311, 232, 210, 30, 29, 3, 2, 1, 1 for l in tests: l.sort() print print “ Source List:t ” , ll1,l2 = mean(l) print “ Result List:t ” , l1, l2print “ Distance:t ” , abs(sum(l1)-sum(l2) print -* *40输出结果Python 代码Source List: 1, 2, 3, 4, 5, 6, 700, 800 Result List: 1, 4, 5, 800 2, 3, 6, 700 Distance: 99 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Source List: 1, 50, 90, 100, 10000, 10001 Result List: 50, 90, 10000 1, 100, 10001 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 25 页 - - - - - - - - - Distance: 38 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Source List: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Result List: 2, 3, 6, 7, 10 1, 4, 5, 8, 9 Distance: 1 -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Source List: 1, 1, 2, 3, 29, 30, 210, 232, 12311, 12312 Result List: 1, 3, 29, 232, 12311 1, 2, 30, 210, 12312 Distance: 21

    注意事项

    本文(2022年python面试题及答案 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开