如果按照元素远离枢轴的顺序对数组进行排序,那么您将能够获取前k个元素,这些元素最接近您正在查看的元素

def k_closest(sample, pivot, k):

return sorted(sample, key=lambda i: abs(i - pivot))[:k]

例:

>>> l = [1,2,3,4]

>>> k_closest(l, 3, 2)

[3,2]

>>> k_closest(l, 3, 3)

[3,2,4]

要获取元素的索引,您可以这样做:

def k_closest(sample, pivot, k):

return sorted(enumerate(sample), key=lambda (n, v): abs(v - pivot))[:k]

使用与以前相同的元素运行它,我们得到

>>> l = [1,2,3,4]

>>> k_closest(l, 3, 2)

[(2, 3), (1, 2)]

>>> k_closest(l, 3, 3)

[(2, 3), (1, 2), (3, 4)]

对于列表中的每个元组,第一个元素是原始数组中的索引,第二个元素是您实际感兴趣的数字

如果您只想要索引,可以稍微调整一下该函数

import operator

def k_closest(sample, pivot, k):

return map(operator.itemgetter(0), sorted(enumerate(sample), key=lambda (n, v): abs(v - pivot)))[:k]

运行原始输入,现在将给你

>>> k_closest(l, 3, 2)

[2, 1]

>>> k_closest(l, 3, 3)

[2, 1, 3]

python输入多个数字 找出只出现一个的数字_在python数组中找到接近给定数字的多个值...相关推荐

  1. 如何在1到100的整数数组中找到缺失的数字

    有关编程面试的最常见问题之一就是:编写一个程序,用Java或任何其他语言查找数组中缺少的数字; 这种不仅在小型初创企业中被问到,而且还在谷歌,亚马逊,脸谱,微软等一些最大的技术公司中提出,主要是当他们 ...

  2. 笔试题:在整数数组中找到重复的数字

    题目描述: java编码实现在整数数组中找到重复的数字,要求复杂度低于O(N*N) 解题思路: 我用两种方法进行解答,其一是用桶的思想,其二是排序 程序代码: public class Main {p ...

  3. python怎么从数组中提取连续的数字_从numpy数组中删除连续的数字

    我是python新手,但我对我要做的这个项目真的很困惑.我看到了一张图片here.我要做的是找出图像中像素范围从0到255的所有方块的平均值.下面的代码显示了我用来计算图片值的方法.出现的问题是像素/ ...

  4. 在php里面找出有用的代码,如何在多个源代码文件中 找到某段代码?

    有一个网站里面有个图片链接已经失效,并且某明奇妙多出了一些字符. 现在我想在多个源代码文件中php或者数据库中找到这段代码,并且修正. 请问有没有好的方法? 回复内容: 有一个网站里面有个图片链接已经 ...

  5. python输入10个数、找出对称数_Python入门100道习题(7)——找对称数

    问题描述 [问题描述]已知10个四位数输出所有对称数及个数 n,例如1221.2332都是对称数 [输入形式]10个整数,以空格分隔开 [输出形式]输入的整数中的所有对称数,对称数个数 [样例输入]1 ...

  6. Java 高级算法——数组中查询重复的数字

    题目一:找到数组中重复的数字. 在一个长度为N的数组里的所有数字都在0--n-1的范围之内,数组中某些数字是重复的,但是不知道有几个数字是重复了,也不知道数字重复了几次,请找到数组中任意一个重复的数字 ...

  7. c语言:(指针)输入一行文字,找出其中的大写字母,小写字母,数字,空格以及其他字符

    c语言:(指针)输入一行文字,找出其中的大写字母,小写字母,数字,空格以及其他字符 #include<stdio.h> #include<stdlib.h> #include& ...

  8. (C语言)(用指针方法处理)输入一行文字,找出其中大写字母,小写字母,空格,数字以及其他字符各有多少

    (用指针方法处理)输入一行文字,找出其中大写字母,小写字母,空格,数字以及其他字符各有多少 #include<stdio.h> #include<stdlib.h> #incl ...

  9. 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 编写一个函数找出这两个只出现一次的数字。

    一个数组中只有两个数字是出现一次,其他所有数字都出现了两次.编写一个函数找出这两个只出现一次的数字. 1.代码编写 2.结果 1.代码编写 代码如下(示例): #define _CRT_SECURE_ ...

最新文章

  1. 20145236《网络攻防》Exp4 恶意代码分析
  2. java学习笔记(九)----多线程
  3. 视频预测领域有哪些最新研究进展?不妨看看这几篇顶会论文
  4. java cas是原子性的么_Java 并发编程:AQS 的原子性如何保证
  5. [免费]开源制衣公司网站源程序 (三)!
  6. IoT 时代,架构简洁、开源的 RISC-V,将威胁 Arm?
  7. css模拟title和alt的提示效果[转]
  8. 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表't_ArticleFiles'中的标识列指定显式值。...
  9. SATA接口Raid、AHCI、IDE三种模式
  10. 电子设备常见的音视频接口
  11. webpack 图片压缩
  12. nginx反向代理指定dns
  13. 2021年5月ccaa审核员考试管理体系认证基础真题
  14. 【易通慧谷】供应链金融主要模式及对商业银行的影响
  15. 翻译系统文本或者其他文本无法直接生成请求号(Request NO)解决方法(T-CODE:SLXT)
  16. iview组件引入vue项目
  17. 基于Java+Springboot+Vue+elememt社区疫情防控系统设计和实现
  18. 微信小程序授权登录,跳转页面后在跳回首页不用再次登录
  19. 站外营销经典方式之论坛发帖技巧
  20. 5个有用的 CSS 布局生成器

热门文章

  1. 导出MySql中的数据库 --Linux/Windows
  2. 如何有效地使用t-SNE | How to Use t-SNE Effectively
  3. 2016-2017-20155329 《Java程序设计》第7周学习总结
  4. Android 第三方有用的库收集
  5. [转]Spring数据库读写分离
  6. HDU-2448 Mining Station on the Sea
  7. 【转】ASP.NET MVC 3 Service Location, Part 5: IDependencyResolver
  8. 卷成这样,非逼我用RTX 3090?(深度学习GPU平台种草
  9. 深度人脸表情识别研究进展
  10. 除了 Tensorflow、PyTorch ,还有哪些深度学习框架值得期待?