当前位置: 首页 > 知识库问答 >
问题:

使用索引列表拆分列表

班言
2023-03-14

我试图根据来自另一个列表的索引对将列表拆分成组,给定:

>>> l = list(range(10))
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> idx = [0, 5]

我需要将列表分解为:

>>> l[0:5]
[0, 1, 2, 3, 4]
>>> l[5:]
[5, 6, 7, 8, 9]

列表idx将至少始终为[0],但大小可以为nidx内的值将始终按升序排序

目前我有:

>>> l = list(range(10))
>>> idx = [0, 5]
>>> idx.append(None)
>>> [l[idx[i]:idx[i + 1]] for i in range(len(idx) - 1)]
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]

有没有一种方法可以在不显式追加non和在范围上迭代的情况下实现这一点?

编辑:另一个例子。。。

给定:

>>> l = list(range(14))
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
>>> idx = [0, 5, 10]

所需结果:

[[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13]]

共有1个答案

梁丘兴腾
2023-03-14

您可以尝试使用itertools.zip_longth:

from itertools import zip_longest

l = list(range(14))
idx = [0, 5, 10]
print([l[pre: last] for pre, last in zip_longest(idx,idx[1:])])

结果:

[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13]]
 类似资料:
  • 问题内容: 如果我们在python中有一个,并且想要基于一些特殊的条件创建子列表,我们应该怎么做? 例如: 会产生: 问题答案: itertools.groupby是一种方法(通常是这样): 由于这种特殊情况,我们甚至可以作弊:

  • 我有多行这样的代码,我试图将它们拆分并添加到3个不同的列表中。“~”将它们分开。 姓名~年龄~单词 姓名~年龄~单词 我用下面的代码将其拆分。 我有ArrayList年龄,ArrayList名字,ArrayList。。。。 当我进行拆分[0]时,它确实有效,并给出了名称。 但是当我做分裂[1]的时候,它会给我一个断点错误。 有什么帮助吗?你能给我推荐一个更好的方法吗?

  • 我很难选择一个NumPy矩阵的每行的特定列。 假设我有以下矩阵,我称之为: 我还有一个每行列索引的,我称之为: 我需要获得值: 我还可以生成一个与形状相同的矩阵,而不是带有索引的,其中每一列都是一个/范围为0-1的值,指示这是否是必需的列。 我知道这可以通过迭代数组并选择我需要的列值来完成。然而,这将经常在大的数据数组上执行,这就是为什么它必须尽可能快地运行。 因此,我想知道是否有更好的解决办法?

  • IndexList 索引列表 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 外层包裹一个index-list组件,内部锚点通过index-anchor组件传入,其余内容可以自定义 可以通过index-list参数自定义索引字符列表 需要监听页面的onPageScroll事件,将当前滚动条高度传入index-list组

  • 如何将这列列表拆分为两列? 期望的结果:

  • 我有UCI数据仓库中的胸部手术数据集 此数据集中的一行如下所示: 我有一个脚本可以将这些行读入子列表: 每个子列表都是文件中的一行,包含一些数据转换(大多数情况下,只是将行中的每个元素转换为一些数值;这部分与问题无关) 因此,每个子列表如下所示: 现在,我想做的是将这个子列表转换为两个子列表,其中: 第一个列表的th子列表包含所有元素,但原始列表的th子列表的最后一个元素除外 第二个列表的第一个子

  • 问题内容: 我试图根据当前正在另一个列表上迭代的索引显示来自其他列表的值,但无法弄清楚如何访问各个项目。 如你所见,我尝试使用它,但是它什么也不显示,它只是创建一个空的表头元素。 我的其他数组在视图中的定义如下,如果删除,则可以看到整个数组已打印到表头 如果我错过任何必填信息,请告诉我。 问题答案: 听起来你想同时遍历两个列表,换句话说就是zip()列表。 如果是这种情况,最好在视图中进行操作并在

  • 我有一个具体的问题。也有一些类似的问题,但这些问题要么与Python有关,而不是与Java有关,要么即使问题听起来类似,需求也不同。 我有一份价值观清单。 最后,我想根据列表的值对列表进行拆分。我的意思是,如果值大于零,它将保留在原始列表中,负值列表中的相应索引将设置为零。如果该值小于零,它将转到负值列表,原始列表中的负值将替换为零。 结果列表应该是这样的; 有没有办法解决这个流api在Java?