给定 2 个整数列表,如何找到不重叠的范围?

2024-02-03

Given

x = [5, 30, 58, 72]
y = [8, 35, 53, 60, 66, 67, 68, 73]

目标是迭代x_i并找到值y那大于x_i但不大于x_i+1

假设两个列表都已排序并且所有项目都是唯一的,给定所需的输出x and y is:

[(5, 8), (30, 35), (58, 60), (72, 73)]

我试过了:

def per_window(sequence, n=1):
    """
    From http://stackoverflow.com/q/42220614/610569
        >>> list(per_window([1,2,3,4], n=2))
        [(1, 2), (2, 3), (3, 4)]
        >>> list(per_window([1,2,3,4], n=3))
        [(1, 2, 3), (2, 3, 4)]
    """
    start, stop = 0, n
    seq = list(sequence)
    while stop <= len(seq):
        yield tuple(seq[start:stop])
        start += 1
        stop += 1

x = [5, 30, 58, 72]
y = [8, 35, 53, 60, 66, 67, 68, 73]

r = []

for xi, xiplus1 in per_window(x, 2):
    for j, yj in enumerate(y):
        if yj > xi and yj < xiplus1:
            r.append((xi, yj))
            break

# For the last x value.
# For the last x value.
for j, yj in enumerate(y):
    if yj > xiplus1:
        r.append((xiplus1, yj))
        break

但是有没有一种更简单的方法可以达到相同的效果numpy, pandas或者是其他东西?


您可以使用numpy.searchsorted with side='right'找出第一个值的索引y大于x然后提取带有索引的元素;一个简单的版本假设总是有一个值y大于中的任何元素x可能:

x = np.array([5, 30, 58, 72])
y = np.array([8, 35, 53, 60, 66, 67, 68, 73])

np.column_stack((x, y[np.searchsorted(y, x, side='right')]))
#array([[ 5,  8],
#       [30, 35],
#       [58, 60],
#       [72, 73]])

Given y已排序:

np.searchsorted(y, x, side='right')
# array([0, 1, 3, 7])

返回第一个值的索引y大于相应的值x.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

给定 2 个整数列表,如何找到不重叠的范围? 的相关文章

  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • Protobuf 如何编码 oneof 消息结构

    对于这个 python 程序 在编码时运行 protobuf 编码会给出以下输出 0a 10 08 7f8a 0104 08 02 10 0392 0104 08 02 10 03 18 01 我不明白的是为什么8a后面有一个01 为什么9
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv

随机推荐

  • 我可以禁用对已弃用的方法和类的 CheckStyle 投诉吗?

    我正在维护一个已弃用某些公共静态字段的 API CheckStyle 大声抱怨这些 但我宁愿让它完全忽略它们 因为我已经通过将字段标记为已弃用来处理问题 具体来说 该库具有用于枚举的常量 公共静态最终 但它们没有标记为最终的 CheckSt
  • 如何将 R 脚本加载到 JRI 并从 Java 执行?

    我正在使用 JRI 从 Java 执行 R 我看到 JRI 使用eval 方法来执行R命令 我有一个用于执行的 R 脚本 如何在 JRI 中加载此脚本并执行它 您可以使用 R 命令运行整个脚本source
  • jQuery 验证 - 相同的规则取决于值

    我在输入字段验证中获取 2 个范围值的语法时遇到问题 我的表单有 2 个选择字段和 1 个文本输入字段 If select1 1 and select2 A 我希望文本字段上的范围值是1 to 120 If select1 1 and se
  • pyRevit WPF非模态问题

    所以我刚刚开始涉足 pyRevit 中的 WPF 我尝试像这样实现pyrevit forms WPFWindow 类 coding UTF 8 Third Party software credits pyRevit repository
  • IPython Notebook ipywidgets 不显示

    我创建了一个带有交互式滑块的表格 它允许我在表格上的不同时段之间切换 过去几天一直有效 直到今天 当我重新运行笔记本时 滑动条不再显示 没有出现错误消息 当表格出现时 代码似乎运行得很好 但滑动条没有出现 我也没有更改我的代码 因为我正在处
  • Breezejs 和 EF6 中基于角色的安全性

    我在一个具有 3 个主要安全角色的项目中使用 Breeze js AngularJS Web API 和 EF6 可以说高级别 中级别和低级别 在这些示例中 我有 Person Company LowLevelSecret MediumLe
  • Rxjava 3 + Retrofit2 - 多次插入数据库问题

    我正在尝试做以下事情 使用 Retrofit 将云数据库同步到设备上的本地 SqLite DB Room DB 可能会变得很大 大约有 100 000 个寄存器或更多 因此同步过程可能需要一些时间 所以它会发送第一个Retrofit请求来获
  • iOS JSON 数组和 MapKit

    我正在尝试使用 MapKit 映射 JSON 数组 我可以使用下面的代码在地图上获得一个点 但是我有几十个需要标记的引脚 并且我准备了一个 JSON 数组 我的单点代码如下 在我的 h 文件中 import
  • 生成随机证书

    我正在寻找一个实用程序类 它可以生成用于测试目的的随机证书字符串 知道是否已经实施了吗 要添加到 martijno 给出的解决方案中 JCAContentSigner 可用于避免映射到 AlgorithmIdentifier 即 OID 而
  • 如何在 Objective C (iphone) 中通过引用传递值

    我有一个非常基本的问题 我是一名新 iPhone 程序员 我的问题是任何人都可以告诉我如何通过引用 obj 中的函数来传递值 C 我知道如何用 VB 和 C 来做 但不知道如何在 Obj c 中做到这一点 Thanks Objective
  • angular2 rc6:RouterState类型上不存在属性queryParams

    通往 Angular 2 Final 之路上的另一个 立即弃用错误 错误消息很清楚 我现在只需要知道相应的字段叫什么即可 有人吗 RouterState 类型上不存在属性 queryParams 以为我解决了 属性 queryParams
  • 根据单独的对象键、值过滤对象数组

    我有以下一组人 const FIRST ARRAY name Simon age 32 occupation Student name Vera age 22 occupation Developer 我想过滤数组以生成基于 过滤器 对象的
  • SQLException.getSQLState 的所有可能值是什么?

    SQLException getSQLState检索SQLState为了SQLException目的 此方法可以返回哪些可能的值 我可以使用该值来识别数据库中发生的特定错误 即该值可以告诉我它是否是 PK 违规 唯一约束或列值太大等 另外
  • iOS/OSX 应用程序组 ID,以“group”开头。或“团队 ID”。

    在配置门户 或现在的任何名称 中创建应用程序组 ID 时 它会显示 输入应用程序组的唯一标识符 以字符串 组 开头 并且似乎在输入字段中强制执行此操作 此外 许多示例代码使用应用程序组 ID 字符串 例如 group com company
  • 在 Powershell 控制台中使用 CTRL + D 退出并使用 CTRL + L cls

    我正在努力使 CTRL D exit Powershell console and CTRL L clear the screen 就像在 bash 中一样 到目前为止 我已经看到我们可以定义 function D exit 但这意味着我必
  • GWT 编辑器框架

    有没有办法获取编辑器正在编辑的代理 正常的工作流程是 public class Class implments Editor
  • 寻找张量的质心(张量流)

    有没有一种有效的方法来找到张量的质心 我正在使用 N 个堆叠体积 Nx64x64x64 并希望获得一个 Nx3 张量 其中包含每个 64x64x64 体积的质心的 x y z 位置 按照公式 您只需将每个坐标乘以相应的质量 将所有内容相加
  • 如何将位图照片转换为十六进制颜色代码?

    我正在尝试为我的简历创建一个程序 但我在转换时遇到问题bitmap照片就是灰度照片转为十六进制 或者更好地称之为代码 如果颜色 有人可以帮助我吗 我尝试将其转换为Base64字符串但它不起作用 openFileDialog1 new Ope
  • 将 Cordova 插件与 Capacitor 结合使用

    我一直在研究这个例子 https capacitor ionicframework com docs basics cordova https capacitor ionicframework com docs basics cordova
  • 给定 2 个整数列表,如何找到不重叠的范围?

    Given x 5 30 58 72 y 8 35 53 60 66 67 68 73 目标是迭代x i并找到值y那大于x i但不大于x i 1 假设两个列表都已排序并且所有项目都是唯一的 给定所需的输出x and y is 5 8 30