这可能是一个特殊情况,但你应该能够使用numpy

digitize.这里需要注意的是,垃圾箱必须单调减少或增加.

>>> import numpy

>>> a = numpy.array([10,7,2,0])

>>> b = numpy.array([10,9,8,7,6,5,4,3,2,1])

>>> indices = [numpy.where(a<=x)[0][0] for x in b]

[0, 1, 1, 1, 2, 2, 2, 2, 2, 3]

>>> numpy.digitize(b,a)

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

定时测试的设置:

a = np.arange(50)[::-1]

b = np.random.randint(0,50,1E3)

np.allclose([np.where(a<=x)[0][0] for x in b],np.digitize(b,a))

Out[55]: True

一些时间:

%timeit [np.where(a<=x)[0][0] for x in b]

100 loops, best of 3: 4.97 ms per loop

%timeit np.digitize(b,a)

10000 loops, best of 3: 48.1 µs per loop

看起来加速了两个数量级,但这在很大程度上取决于箱的数量.你的时间会有所不同.

为了与Jamie的回答进行比较,我已经计算了以下两段代码.由于我主要想关注搜索和数字化的速度,我稍微减少了Jamie的代码.相关的块在这里:

python 数组比较大小_python – 比较两个不同长度的numpy数组相关推荐

  1. python字符串比较大小_Python 比较两个字符串大小

    <1---关于解决MySQL在控制台插入中文乱码问题> 说明:以下所有操作都是基于我个人的电脑及示例,读者可以参考我这个解决过程,去解决自己的问题,如有其它疑问,欢迎留言交流. 首先来看看 ...

  2. python 获取列表大小_python如何统计列表的长度

    展开全部 参考代码: list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a& ...

  3. python比较日期大小_Python日期的处理——datetime模块

    本文作者:胡   婧 文字编辑:杨慧琳 技术总编:张学人 好消息!!!爬虫俱乐部将于2019年7月5日至7月8日在武汉举行首期Python编程技术定制培训.本次培训采用理论与案例相结合的方式,旨在帮助 ...

  4. python如何比较大小_python列表如何比较大小

    python列表如何比较大小 发布时间:2020-09-22 13:58:58 来源:亿速云 阅读:59 作者:小新 这篇文章给大家分享的是有关python列表如何比较大小的内容.小编觉得挺实用的,因 ...

  5. python比较字符串大小_Python中如何进行字符串比较大小?

    在Python中,我们会经常使用到字串符,用于编码码字.有的时候会需要比较字符串大小.本文主要介绍Python字符串比较大小方法:字符串的比较是比较ASCII码值 ,哪个值大哪个字符串就大.另外也可通 ...

  6. python科学计算三剑客_Python数据分析 三剑客篇(一)NumPy

    Python数据分析(一)Numpy NumPy,Pandas和 Matplotlib "工欲善其事,必先利其器." Numpy ,pandas 和 Matplotlib 被称为P ...

  7. python布尔型数组_《Python数据分析》一2.10 用布尔型变量索引NumPy数组

    本节书摘来自异步社区<Python数据分析>一书中的第2章,第2.10节,作者[印尼]Ivan Idris,更多章节内容可以访问云栖社区"异步社区"公众号查看 2.10 ...

  8. c语言转换为python语言_使用C语言中的数据缓冲区和NumPy数组之间的转换来为Python接口打包C程序的最佳方法是什么?...

    基本上有三种方式: >从图像缓冲区复制到NumPy阵列,反之亦然.当给定C/C++图像时,创建NumPy阵列并复制数据,当给定NumPy阵列时,创建C/C++图像并复制数据. > NumP ...

  9. 实现计算两个相同长度的有序数组的中位数

    给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数. 例如: arr1 = {1,2,3,4}; arr2 = {3,4,5,6}; 一共8个数则上中位数是第4个数, ...

最新文章

  1. 机器学习知识点(二十一)特征选择之岭回归和LASSO
  2. 宁波机器人餐厅需要预约吗_可怕!顺德首家“机器人餐厅”开业!厨师要失业了吗?...
  3. IDRLnet: 基于内嵌物理知识神经网络的开源求解框架
  4. 如何理解java反射_怎么理解java反射
  5. 为什么要学Access?
  6. 统计范围内不含‘7‘的数字个数(洛谷P1590题题解,Java语言描述)
  7. EOS小白学习(四)使用http请求EOS节点
  8. jszip压缩文件上传到服务器,2. jszip文件夹打包上传
  9. Element-UI省市区(县)三级联动---基于VUX移动框架的x-address组件
  10. Debian/Ubuntu系统命令终端提示无法定位软件包解决方法
  11. oracle数据库报01033,oracle数据库报ORA-01033错误
  12. 【蓝队攻防演练思路】From 滴滴蓝军
  13. 【软考】--软考是一盘散沙?NO
  14. 图像空间和灰度分辨率
  15. 5.数据通信基础(上)
  16. 微信app支付服务端开发记录
  17. item_password-获得1688平台淘口令真实url,1688短链接搜索商品接口接入解决方案
  18. 机器学习-无监督学习-聚类:聚类方法(一)--- k-Means(k-均值)算法,k-Means++算法【使用最大期望值算法(EM算法)来求解】
  19. React(7)—— SPA应用 - React路由机制 - react-router-dom
  20. ffmpeg利用滤镜合并两个视频,一左一右

热门文章

  1. 【待完善】MongoDB - 使用索引
  2. 团队协助 开源项目_5分钟了解 Vtiger CRM-国际知名开源客户管理软件
  3. 螺旋传动设计系统lisp_石狮螺旋输送机质量可靠
  4. python连接池框架_python3.0 django mysql连接池说明
  5. T^T找数字(搜索+二进制枚举)
  6. elmentui的短信验证界面_[javascript] elementui下login登录页界面和js验证逻辑
  7. android网络编程登录和验证,ASP.NET实现用户注册和验证功能(第4节)
  8. java locale string_Java Locale toString()用法及代码示例
  9. c语言 465串口编程,用C语言编写串口程序
  10. linux服务器安装nexus,Linux下搭建maven服务器nexus