如何在 Python 中将列表分割成连续的非零整数组

2023-11-22

似乎无法在网上找到这方面的线索,并且我自己也无法弄清楚,所以:

我将如何对列表进行切片,以便返回连续非零整数切片的列表。 IE:

data = [3, 7, 4, 0, 1, 3, 7]

我想生产:

slices = [[3, 7, 4], [1, 3, 7]]

我尝试过各种迭代列表的方法,一直倾向于使用一个生成器,通过测试之前或之后是否有 0,让我知道连续组何时开始和停止,但后来我有点困惑。


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

如何在 Python 中将列表分割成连续的非零整数组 的相关文章

随机推荐

  • 在 Windows 上的 Python 中按类型删除文件

    我知道如何删除单个文件 但是我在如何删除一种类型的目录中的所有文件的实现中迷失了 假设目录是 myfolder 我想删除所有 config 文件 但不删除其他文件 我该怎么做 谢谢 Use the glob module import os
  • 强制在所有继承类中实现方法

    我有一种情况 我想强制从某个 抽象 类继承的每个类都实现一个方法 这是我通常使用 abstractmethod 实现的目标 但是 考虑到这种多重继承的情况 from abc import ABCMeta abstractmethod cla
  • Django-Rest-Framework 通过 Id 更新外键

    我正在使用 django rest framework 来构建后端 我的列表运行良好 但是 使用 django rest framework 管理屏幕 我无法仅使用外键对象的 Id 字段来创建对象 我希望我的配置不正确 但如果有必要的话 我
  • 如何在apache服务器中运行nodejs应用程序

    我想通过 apache 服务器上的子域运行我的 nodejs 应用程序 我在 cpanel 中创建了主域的子域 我的项目有超过 3 个子域 所有子域都指向不同的 Nodejs 应用程序 子域将我重定向到正确的文件夹中 但是当我通过浏览器中的
  • ggplot 图例:键相对于标签的位置

    我正在使用 ggplot 制作一个图表 其中图例水平位于图上方 我的变量有多个图例 即颜色 形状 线型 theme legend position top legend direction horizontal legend box hor
  • 如何在backbone.js应用程序中保持干净的浏览器历史记录?

    我的backbone js有三个视图 类别列表 类别中的项目列表 个别项目表格 我正在使用backbone js 路由器在这些视图之间导航 应用程序中的用户流程为 12 23 和 3 gt 1 用户可以使用浏览器后退和前进按钮来回导航 这是
  • 进程被杀死后如何查看堆栈跟踪?

    我正在使用 gdb 命令 attach 来调试进程 但在进程崩溃 sigkill 之后 我看不到堆栈跟踪 gdb 中的 bt 命令 gdb BT 没有堆栈 进程被杀死后如何查看堆栈跟踪 通过确保将您的 shell 设置为转储核心ulimit
  • 切换到GLSL 300时,遇到以下错误

    当我切换到使用 OpenGL ES 3 和 GLSL 300 时 我在碎片着色器中遇到以下错误 未声明的标识符 gl FragColor 当使用 GLSL 100 时 一切都很好 现代版本的 GLSL 只需将片段着色器声明为out价值观 以
  • 如何将单元测试改造到代码库中?

    您是否有任何策略可以将单元测试改造到当前没有单元测试的代码库上 Read 有效地处理 Feathers 的遗留代码 吉米 博加德有一个关于 SOC 的好博客系列
  • 如何使用单个数组实现三个堆栈

    我在一个面试网站上遇到了这个问题 该问题要求在单个数组中有效地实现三个堆栈 以便在整个数组空间中没有剩余空间之前堆栈不会溢出 对于在数组中实现 2 个堆栈 这是非常明显的 第一个堆栈从左到右增长 第二个堆栈从右到左增长 当 stackTop
  • Android Firebase - 无法使用 getUid() 获取用户 ID - 错误:空对象引用

    我正在使用 Firebase 并且注册 登录活动工作正常 但我也希望每个用户更新用户名 看来我无法运行 firebaseRef getAuth getUid 我在应用程序模拟器中收到错误 不幸的是 应用程序已停止 这看起来像是我在 andr
  • jQuery Ajax 和重定向来自服务器的响应

    我有一种情况 我发送 jquery ajax post 请求 但在我的 web 应用程序中 该特定 ajax 请求的处理程序 处理 post 参数后 将调用另一个控制器中的操作 不确定这是否称为重定向 该操作基本上呈现整个网站页面 如页面刷
  • 将 struct.unpack 从 python 2.7 移植到 3

    以下代码在 python 2 7 中运行良好 def GetMaxNoise data max noise for byte in data noise ComputeNoise struct unpack B byte 0 if max
  • Android Webview中视频只播放一次

    我成功地在 Android 中的 Webview 中播放来自 HTML5 内容的流式 Youtube 视频 但现在的问题是视频仅在第一次播放 在那之后VideoView仅转到视频文件的末尾 我尝试按照建议清除缓存here但没有运气 这个问题
  • DownloadFile 与 DownloadFileAsync

    我正在使用 WebClient DownloadFile 从 Web 服务器一次下载一个文件 但是 我想知道 线程被阻止 开发人员是否意味着应用程序不会响应 我尝试使用 WebClient DownloadFileAsync 但它不像 Do
  • 获取临时对象的地址

    5 3 1 一元运算符 第 3 节 一元 运算符的结果是指向其操作数的指针 操作数应为左值或合格的 ID 在这种情况下 应该 到底意味着什么 这是否意味着获取临时地址是错误的 我只是想知道 因为 g 只给我一个警告 而 comeau 拒绝编
  • 拉拉维尔。在具有关系的模型中使用scope()

    我有两个相关模型 Category and Post The Post模型有一个published范围 方法scopePublished 当我尝试获取该范围内的所有类别时 categories Category with posts gt
  • PDF 中需要 Arial 字体(BIRT pdf 渲染器,Linux)

    我使用 BIRT IDE 创建了一个 rptdesign 文件 该文件内容采用 Arial 字体 当我在 Windows 中将报告导出为 PDF 时 它工作正常 我使用默认的viewerServlet 来创建报告 但是当我将报告移动到Lin
  • 在 JavaScript 中实现单例的最简单/最干净的方法

    实现最简单 最干净的方法是什么单例模式在 JavaScript 中 我认为最简单的方法是声明一个简单的对象文字 var myInstance method1 function method2 function 如果您希望单例实例上有私有成员
  • 如何在 Python 中将列表分割成连续的非零整数组

    似乎无法在网上找到这方面的线索 并且我自己也无法弄清楚 所以 我将如何对列表进行切片 以便返回连续非零整数切片的列表 IE data 3 7 4 0 1 3 7 我想生产 slices 3 7 4 1 3 7 我尝试过各种迭代列表的方法 一