python面试题(1)

有两个序列a,b大小都为n,序列元素的值任意整形数,无序;
a = [1,24,6,100,7]
b = [5,3,200,55,2]

要求:通过交换a,b中的元素,使序列a元素的和与序列b元素的和之间的差最小。

解:

 1 #coding:gbk
 2 import itertools  #载入迭代模块
 3
 4 A = [1,24,6,100,7]
 5 B = [5,3,200,55,2]
 6 C = A+B             #合并列表
 7
 8 LC = list(itertools.permutations(C,5))   #生成所有组合
 9
10 Total = sum(C)      #总和
11 Cha_Min = Total     #初始化最小差
12 Result = []         #初始化结果列表
13 for i in LC:        #遍历所有组合
14     Cha = abs(Total-sum(i)-sum(i))       #计算差
15     if Cha < Cha_Min:                    #如果最小差,则更新结果
16         Result_A = list(i)
17         Cha_Min = Cha
18
19 for i in Result_A:  #从总列表中删除Result_A列表中元素
20     C.remove(i)
21
22 Result_B = C       #赋值Result_B
23
24 print ‘Result_A = ‘,Result_A
25 print ‘Result_B = ‘,Result_B
26 print ‘Min_difference = ‘,Cha_Min

时间: 2024-09-26 22:31:15

python面试题(1)的相关文章

python 面试题1

python 面试题 - 知识点整理 分类: python面试2013-03-05 15:52 13754人阅读 评论(1) 收藏 举报 python面试题 目录(?)[+] 1. 在判断object是否是class的instances时,type和isinstance函数的区别? type(obj) => <type 'instance'> type(cls) => <type 'classobj'> 由上可知,所有obj type后统一为 instance type

python公司面试题集锦 python面试题大全

问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Parent): pass print Parent.x, Child1.x, Child2.x Child1.x = 2 print Parent.x, Child1.x, Child2.x Parent.x = 3 print Parent.x, Child1.x, Child2.x 答案 以上代码的

Python面试题 —— 获取列表中位数

中位数是一个可将数值集合划分为相等的上下两部分的一个数值.如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数:如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位数.在这个任务里,你将得到一个含有自然数的非空数组(X).你必须把它分成上下两部分,找到中位数. 输入: 一个作为数组的整数(int)列表(list)的. 输出: 数组的中位数(int, float). 范例: get_median([1, 2, 3, 4, 5]) == 3 get_median(

Python面试题整理-更新中

几个链接: 编程零基础应当如何开始学习 Python ? - 路人甲的回答 网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答 怎么用最短时间高效而踏实地学习 Python? - 路人甲的回答 如何学习Python爬虫[入门篇] - 学习编程 - 知乎专栏 Python常用库整理 - 学习编程 - 知乎专栏 学好Python的11个优秀资源 - 学习编程 - 知乎专栏 在开头依然推荐一个Python面试题整理比较好的网站:GitHub : 关于Python的面试题.同样推荐几道

python 面试题

前段时间面试碰到的一组python面试题,虽然很简单但是特别的基础. 1.Python 如何判断二维数组中是否包含整数? array = [[1, 3, 5.6, 7.2, 8, 9.9], [2.5, 4.7, 6.8, 7.3, 9, 10], [3.7, 6.7, 9.8, 9.9, 11, 12.1]] for i in array: for j in i: if str(j).isdigit(): # 判断是否是整数还可以通过isinstance(j, int) print("二维列表

17道Python面试题,分享给你以防不测!

今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是什么? pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作. 2.Python是如何进行类型转换的? Python提供了将变量或值从一种类型转换成另一种类型的内置函数.比如int函数能够将符合数学格式数字型字符串转换成整数.否则,返回错误信息. 3.Python是如

python面试题总结与分析(一)

Q 1:Python 有哪些特点和优点? 作为一门编程入门语言,Python 主要有以下特点和优点: 可解释 具有动态特性 面向对象 简明简单 开源 具有强大的社区支持 当然,实际上 Python 的优点远不止如此,可以阅读该文档,详细了解: https://data-flair.training/blogs/python-tutorial/ Q 2:深拷贝和浅拷贝之间的区别是什么? 答:深拷贝就是将一个对象拷贝到另一个对象中,这意味着如果你对一个对象的拷贝做出改变时,不会影响原对象.在 Pyt

Python面试合集 史上最全面Python面试题和详解(10套) 完整版

本文件内含10个文档,文档格式为md,可以以文本的形式打开.内容如题,全面的Python面试题和详解,需要的朋友可下载试试! 包含:2019 Python最新面试题及答案16道题.110道Python面试题(上).最常见的 35 个 Python 面试题及答案(2018 版).整理的最全 python常见面试题(基本必考)等! 下载地址 https://pan.baidu.com/s/1XgpPig-KpR8ox0vWuTwVIw 如需提取码: [打开微信]->[扫描下方二维码]->[关注数据

python 面试题3

注:本面试题来源于网络. 1.python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”. 多进程间共享数据,可以使用 multiprocessing.Value 和 multiprocessing.Array 2.Python是如何进行内存管理的? http://developer.51cto

python面试题大全

注:本面试题来源于网络,转载请注明来自http://www.cnblogs.com/goodhacker/p/3366618.html. 1. (1)python下多线程的限制以及多进程中传递参数的方式 python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”. 多进程间共享数据,可以使用 multiprocessing.Value 和 mult