查找列表中的第一个元素和索引匹配条件

2023-12-13

考虑这个简单的例子

mylist = [-1,-2,3,4,5,6]

for idx, el in enumerate(mylist):
    if el > 0:
        myidx, myel = idx, el
        break

myidx, myel
Out[20]: (2, 3)

我感兴趣的是在 python 列表中查找与特定条件匹配的第一个索引和相应的第一个元素(在这里,这只是 > 0)。

在上面的代码中,我使用循环遍历元素enumerate然后使用 if 子句查找正确的元素。这对我来说看起来非常麻烦。有一个更好的方法吗?例如使用本机 python 函数?

Thanks!


像这样的东西应该有效:

l = [-1,-2,3,4,5,6]
list(x > 0 for x in l).index(True)
# Output: 2

要找到所有模式,我们可以使用 python 内置函数

from itertools import filterfalse
f = filterfalse(lambda x: x[1] <= 0, enumerate(l))
print(list(f))
# [(2, 1), (3, 2), (4, 3)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找列表中的第一个元素和索引匹配条件 的相关文章

随机推荐

  • 如何在 Visual Basic 中使用 while 循环从 StreamReader 中读取数据?

    考虑 Dim line As String Using readFile As New StreamReader SalesUpdateFile While line readFile ReadLine IsNot Nothing 我是 V
  • 没有可行的从 std::function 到 bool 的转换

    C 11std function应该执行operator bool const 那么为什么 clang 告诉我没有可行的转换呢 include
  • R-向 PDF 添加页码

    我在向 PDF 添加页码时遇到问题 这是我插入页面 绘图的方法 pdf file pdfFilePath width 11 height 8 5 for grid newpage pushViewport viewport layout g
  • 从 Google 表格调用时 getOAuthToken 返回 null

    我正在研究一种方法 通过 oAuth 规范和 AWS API 网关调用来限制特定用户的某些 Google 表格 但我遇到了一个问题ScriptApp getOAuthToken 功能 当我使用 Google Apps 脚本调试器运行代码时
  • 动态背景(在 LinearLayout 上)-我的错误是什么?

    我有一个问题 我试图让我的应用程序背景根据计时器每十秒改变一次 我已经做了我能做的 但无法解决它 因为我是 java 和编程的初学者 我如果有人可以纠正我的代码 我会很高兴 我可以将它打包到手机等中 Eclipse不会显示错误 但当计时器开
  • 为什么Unity3D中相机绕z轴旋转?

    我有一个主摄像头在 Unity3D 中 我想根据鼠标输入进行旋转 因此它可以作为第一人称视频游戏 您可以根据要查看的位置移动鼠标 相机的起始值 Unity 中 检查器 选项卡中的 变换 选项卡 为 Position X 1 Y 1 Z 11
  • 将“facet_grid”从多面画布上拉开?

    考虑以下示例 ggplot2 facet grid p lt ggplot mpg aes displ cty geom point p facet grid vars drv vars cyl Which results in the f
  • Safari 应用扩展未安装

    仅供参考 我对 XCode 开发完全陌生 我有一个 Safari 应用程序扩展项目 如果我从 XCode 中运行它 它会将我的扩展添加到 Safari 中 如果我创建存档 导出并选择 导出开发签名应用程序 我可以获取生成的文件 将其安装在另
  • 使用 FileMapping 传递 _EXCEPTION_POINTERS * 时遇到问题

    我想做一个进程外异常处理程序 并且创建了一个看门狗进程 当子进程引发异常时 它会进行专门的异常处理 我已经通过事件成功调用了看门狗进程 我面临的问题是在尝试将异常信息指针传递给其他进程时 我降落在这里将指针传递给由 exec 生成的进程并了
  • 在 Objective-C 中转发声明协议

    我的类 h 看起来像 protocol AppInfoDelegate class InfoTextView interface AppInfoViewController UIViewController
  • 是否可以通过JavaScript检测插件是否激活?

    这样我通常会检测插件 例如Flash播放器 for var el in navigator plugins if navigator plugins el name navigator plugins el name toLowerCase
  • 批量创建文件夹列表:无法回显重音字符

    我使用此批处理指令生成不包含 zip 文件的每个子目录的列表 echo off for d r f in do if not exist f zip echo f gt gt G backup folders txt 问题是这会生成一个列表
  • 防止浏览器在提交表单时跳转到首页

    我试图防止用户提交表单时页面跳转到顶部 有很多人建议return false 但是 它也阻止了表单的提交 我想知道是否有人可以帮助我 JQuery submit click function doesn t work return fals
  • 收据打印机 - 从网页打印

    我有一台收据打印机 它连接到我的计算机上的串行 COM1 我正在尝试从网页打印收据 当打印时 它只是一个空白 没有任何文本 空白收据 它在 IE8 上工作正常 但在 Firefox 3 6 上不起作用 我有一台 Epson TM T88II
  • Stream.Seek(0, SeekOrigin.Begin) 或 Position = 0

    当您需要将流重置为开始时 例如MemoryStream 是使用的最佳实践 stream Seek 0 SeekOrigin Begin or stream Position 0 我发现两者都工作得很好 但想知道其中一个是否比另一个更正确 U
  • 将带有内部链接的 Excel 转换为 pdf

    我正在尝试将带有内部链接 即指向同一 Excel 中不同位置的链接 的 Excel 转换为 pdf 我已经浏览了网上关于这方面的几篇文章 但似乎找不到任何适当的解决方案来进行这种转换 提供的解决方案主要适用于外部超链接 而不适用于内部超链接
  • 如何发出帖子请求来创建新用户

    我正在使用react chat engine 创建一个聊天应用程序 一切都运转良好 除了我不知道如何发出帖子请求来创建新用户这一事实 这是我的代码 const handelSubmit async e gt e preventDefault
  • eclipse无需jdk运行程序

    为什么我们不需要安装jdk就可以在eclipse中编译执行java程序呢 jre安装就足够了 但是在从cmd运行代码时我们需要安装jdk eclipse 是否附带任何替代 javac 我尝试在 eclipse 文件夹中搜索 javac 但没
  • 如何使用带参数的嵌套命令创建 Git 别名?

    在我的点文件中 我有以下有效的函数 function undelete git checkout git rev list n 1 HEAD 1 1 我这样使用 undelete path to deleted file txt 我想确定这
  • 查找列表中的第一个元素和索引匹配条件

    考虑这个简单的例子 mylist 1 2 3 4 5 6 for idx el in enumerate mylist if el gt 0 myidx myel idx el break myidx myel Out 20 2 3 我感兴