无法在 while 循环中从列表中排除特定范围内的项目

2024-02-15

所以我发了一个问题before https://stackoverflow.com/questions/48255911/excluding-items-from-a-list-that-are-in-a-certain-range-using-list-comprehension,但它太简单了,正确地被标记为重复。我现在更详细地发布我的问题,以便我的问题有望得到解决。简单来说如下: 我有两个清单:a = [10.0,20.0,25.0,40.0]且 b =[1.0,10.0,15.0,20.0,30.0,100.0]

使用列表理解,我想从 b 中排除 a 中指定的元素范围。即:从b中移除10.0到20.0之间、25.0到40.0之间的所有元素。这是我尝试过的:

kk = 0
while kk < len(a):
    up_lim = a[kk] #upper limit
    dwn_lim = a[kk+1] #lower limit
    x = [b[y] for y in range(len(b)) if (b[y]<dwn_lim or b[y]>up_lim)] #This line produces correct result if done outside of a while loop. Somehow fails in while loop.
    b = list(x) #update the old list with the new&reduced list
    kk += 2 #update counter

我期待结果x = [1.0,100.0],但我得到x = [1.0,10.0,15.0,20.0,30.0,100.0]

事实上,如果我在 while 循环之外执行此操作,则列表理解的关键行会起作用(当然这是无用的,因为列表“a”的大小可以是任意的,这就是我使用 while 循环的原因)。

所以问题是: while 循环如何以及为何阻止列表理解正确发生?


使用 vanilla python,您可以概括使用any/all。我要和any here.

>>> [x for x in b if not any(i <= x <= j for i, j in zip(a[::2], a[1::2]))]
[1.0, 100.0]

This zips 每对交替的列表项zip,并一一检查以确保x不属于其中任何一个。

如果您对表演感兴趣,请考虑使用 pandas 方法。你可以建立一个Intervalindex,适合任务。搜索是对数的,而且速度非常快。

>>> import pandas as pd
>>> idx = pd.IntervalIndex.from_arrays(a[::2], a[1::2], closed='both')
>>> [x for x, y in zip(b, idx.get_indexer(b)) if y == -1]
[1.0, 100.0]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 while 循环中从列表中排除特定范围内的项目 的相关文章

  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • 为什么 web2py 在启动时崩溃?

    我正在尝试让 web2py 在 Ubuntu 机器上运行 所有文档似乎都表明要在 nix 系统上运行它 您需要下载源代码并执行以下操作 蟒蛇 web2py py 我抓住了source http www web2py com examples
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 如何将 GAE 中一种 Kind 中的所有实体复制到另一种 Kind 中,而无需显式调用每个属性

    我们如何使用function clone entity 如中所述在 Python 中复制 Google App Engine 数据存储中的实体 而无需在 编译 时知道属性名称 https stackoverflow com question
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

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

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐

  • Kendo 数据源参数映射

    我是剑道新手 我在模型绑定方面遇到问题 当我用 firebug 调试时 它显示options models 是不明确的 因此 parrameterMap 中的 if 条件始终为 false 并且网格不会填充数据 但是当我删除 parrame
  • Scientific Linux 上的 Grail(网络浏览器)安装

    我不确定 Grail 浏览器现在是否是一个好的选择 但是我想尝试一下 因为我在 Firefox Fermi 上运行图形时遇到一些问题 接下来是我尝试 grail 0 6 tgz 后获得的结果 python grail py Tracebac
  • 是否有本地 Google App Engine 数据查看器?

    我想离线使用谷歌的在线GAE数据查看器 是否有一些 python 代码可以显示我所有的本地数据甚至模式 是的 去http localhost 8000 ah admin http localhost 8000 ah admin 假设您正在使
  • 如何从服务器端 Blazor Net Core 5.0 调用 API 控制器操作?

    我创建了一个标准 Blazor 服务器应用程序 然后我添加了一个具有读 写操作的 API 控制器 现在我想从索引页调用一个操作 但它不起作用 应用程序运行没有错误 但没有返回预期的结果 状态 等待激活 方法 空 结果 尚未计算 我在控制器操
  • OpenNLP:类文件版本 55.0 错误,应为 52.0

    我在 IntelliJ IDEA 版本 17 0 6 中使用 Open NLP 版本 apache opennlp 2 2 0 库 但收到以下消息 java cannot access opennlp tools namefind Name
  • Castle ActiveRecord:映射到 C# 中的类中的 IUserType

    对于我当前的项目 我在 C 中使用 Castle 的 ActiveRecord 对于我的一个表 我确实需要使用自定义类型类 处理愚蠢的时间到时间跨度转换 为了保持我的代码干净 我喜欢定义派生自的类IUserType在对象映射类内 但我找不到
  • 如果 Moshi 中的值不匹配,如何回退到枚举

    我有一个枚举类 如果值与其中任何一个都不匹配 则希望它回退到特定的枚举值 我发现了一个关于使用 EnumJsonAdapter 的 Moshi 问题 但我没有看到任何可供我使用的公共类 我使用的是莫西 1 8 0 关于如何实现此目标的任何想
  • 为什么我的 rdd 中的 println 会打印元素字符串?

    当我尝试打印 RDD 的内容时 它会打印如下所示的内容 如何打印内容 谢谢 scala gt lines res15 org apache spark rdd RDD Array String MapPartitionsRDD 3 at f
  • OpenCL 双精度与 CPU 双精度不同

    我正在 Linux 中使用 GeForce GT 610 卡进行 OpenCL 编程 我的CPU和GPU双精度结果不一致 我可以在这里发布部分代码 但我首先想知道是否有其他人遇到过这个问题 当我运行多次迭代的循环时 GPU 和 CPU 双精
  • 需要有关 jQuery UI Accordion navigationFilter 选项的帮助

    我正在建造一个用于导航的手风琴 手风琴的每个部分都有一组链接 触发代码如下所示 document ready function selector accordion collapsible true active false navigat
  • IPFIX 数据通过 UDP 传输至 C# - 我可以解码数据吗?

    我有一个来自 MSDN 网站的代码示例 用于创建 UDP 侦听器 客户端 因为我尝试从防火墙接收 IPFIX Netflow 数据 然后使用收到的数据 该代码确实有效并开始接收数据 但它的行话 见下文 所以我想我没有正确解码它 有谁知道我需
  • 使用 NSExpression 计算值的平方?

    NSString formul 3 2 NSExpression e NSExpression expressionWithFormat formul int result e expressionValueWithObject nil c
  • .NET Core Web API / Angular 应用程序中的 Windows 身份验证

    我正在使用 Visual Studio 2019 Community 构建一个 Intranet 应用程序 用于创建 NET Core Web Api 使用 NET Core 2 2 并使用 Visual Studio Code 来创建 A
  • 用于更新值和查询过去某个时间值的状态的数据结构

    假设您对一堆独立的时变值感兴趣 每个值都代表某事物的当前状态 这些值不会按任何固定的时间表更改 并且无法从旧值预测新值 举一个具体的例子 假设您有一堆股票 并且您有兴趣跟踪它们的价值 并且每当对该股票进行交易时 您都会获得有关该股票的更新
  • 从“StringTokenizer”获取原始字符串中的位置

    我需要获取字符串中以空格分隔的标记 但我还需要知道原始字符串中每个标记的字符位置starts 有什么办法可以做到这一点StringTokenizer 另外 据我了解 这是一个遗留类 有没有更好的替代方法StringTokenizer 你应该
  • 尝试用 Java 从文件中读取 2 个单词

    我正在尝试编写一个简单的程序来读取文本文件并将单词对存储在Set 这是我为此编写的代码 import java io File import java io FileNotFoundException import java util Sc
  • 即使关联类型不同,特征实现也会发生冲突

    我正在尝试创建一个通用结构来包装isize or an AtomicIsize 但是当我尝试为该结构的两种可能实现实现一个特征时 我遇到了错误 我创建了一个最小的示例来演示我的问题如下 use std sync atomic AtomicI
  • 按名称引用 Excel 工作表?

    我将工作表的名称作为字符串存储在变量中 如何对该工作表执行某些操作 我想我会做这样的事情 nameOfWorkSheet test ActiveWorkbook Worksheets nameOfWorkSheet someOperatio
  • 比较字典忽略特定键

    如何在不考虑某些键的情况下测试两个字典是否相等 例如 equal dicts foo 1 bar 2 x 55 y 77 foo 1 bar 2 x 66 z 88 ignore keys x y z 应该返回 True UPD 我正在寻找
  • 无法在 while 循环中从列表中排除特定范围内的项目

    所以我发了一个问题before https stackoverflow com questions 48255911 excluding items from a list that are in a certain range using