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

在列表中串联多个范围[重复]

杨建章
2023-03-14

在python中,有没有一种方法可以创建跳过数字并在跳过后继续的列表?类似以下代码:

x = [1...3, 6...10]
print(x)
# [1,2,3,6,7,8,9,10]

很容易编写for循环,然后跳过每个定义的索引/值,或者我可以直接使用range,我要找的是一条更短、可读性更强的行。如果不是,我可以理解。

共有3个答案

田兴怀
2023-03-14

如果numpy是一个选项,您可以使用np.r_连接切片对象:

import numpy as np

np.r_[1:4, 6:11]
# array([ 1,  2,  3,  6,  7,  8,  9, 10])
巫马望
2023-03-14

或者,您可以使用itertools。链条:

>>> import itertools
>>> list(itertools.chain(range(1, 5), range(20, 25)))
[1, 2, 3, 4, 20, 21, 22, 23, 24]
章睿
2023-03-14

最简单的方法是调用range()并将结果解压缩到列表分配中。

x = [*range(1, 4), *range(6, 11)]
 类似资料:
  • 问题内容: 我必须阅读一些文件,其中一些文件采用Excel格式,有些文件采用CSV格式。一些文件具有数百列。 有没有一种方法可以选择多个列范围而不指定所有列名或位置?例如,选择第1 -10、15、17和50-100列: 从Excel文件和CSV文件创建数据框时以及创建数据框框程序后,我都需要知道如何执行此操作。 问题答案: 采用 所以你可以做

  • 问题内容: 我凝视着监视器已经太久了,不要问:我如何使用 Elastic Search PHP库* 执行 多个范围查询 ? * 我正在尝试根据 价格 标准(小于或大于)和类别内的 产品数量 (最少2个产品,仅2个产品,等等)查询我的索引。 虽然单独工作正常,但结合 我正在努力找到一个不错的近期示例,该示例涵盖ES v0.9之后的此场景,但在我的v1.4.2上却失败了。 问题答案: 您的回答是正确的

  • 问题内容: 假设我有一个这样的函数: 它返回与给定顶点相邻的顶点列表。现在,我想创建一个包含所有邻居的列表。我这样做是这样的: 有没有更Python的方式做到这一点? 问题答案: [x for n in getNeighbors(vertex) for x in getNeighbors(n)] 要么

  • 问题内容: 我有一个字符串列表如下 我想明智地将list元素内的每个字符串连接起来,预期输出如下: 的大小可以变化。有没有任何方法可以完成此操作而无需进行for循环。 我尝试使用地图,但无法正常工作。 请帮忙。 问题答案: 这是压缩子列表并使用生成的元组进行映射的一种方法: 如docs所示,此处汇总了来自多个可迭代对象的元素。使用,我们将列表解压缩到单独的可迭代对象中,这意味着该函数将改为接收。

  • 我有一个熊猫数据框,有许多标记列。例如: 我想用多个范围切片这个数据帧。例如: 但这似乎是不可能的。有没有办法做到这一点? 这个问题与使用Pandas和Pandas Dataframe选择多个不连续列/切片切片多列范围有关,但我希望使用列名而不是索引切片<代码>np。r 似乎不支持字符串范围,只支持数字范围。