编程题求助
对一个数组的整数部分进行排序后,去除与另一个数组的重复值,再去除数组中的重复值,返回离平均值最近的元素的下标(如果同样近,则取较小的)输入有两行,第一行是待处理数组,第二行是需要被比较的数组
输入:
[9.3,8.5,8.3,2.7,2.5]
[8,3]
输出:
0
>>> s=[9.3,8.5,8.3,2.7,2.5] >>> s1=[8,3] >>> list(map(lambda x:int(x),s)) #求整 [9, 8, 8, 2, 2] >>> s3=list(set(list(map(lambda x:int(x),s))).difference(s1)) #去除重复 >>> s3 [9, 2] >>> s4=list(map(lambda x:abs(x-sum(s2)/2),sorted(s3)))#排序后减去平均值 >>> s4 [3.5, 3.5] >>> s4.index(min(s4)) #求最小值(离平均值最近的值的下标) 0