通过预定义索引分割Python字符串[重复]

2023-12-22

我有一个字符串,我想将其在特定位置拆分为字符串列表。分割点存储在单独的分割列表中。例如:

test_string = "thequickbrownfoxjumpsoverthelazydog"
split_points = [0, 3, 8, 13, 16, 21, 25, 28, 32]

...应该返回:

>>> ['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']

到目前为止,我已经将其作为解决方案,但由于任务如此简单,它看起来非常复杂:

split_points.append(len(test_string))
print [test_string[start_token:end_token] for start_token, end_token in [(split_points[i], split_points[i+1]) for i in xrange(len(split_points)-1)]]

有什么好的字符串函数可以完成这项工作,或者这是最简单的方法?

提前致谢!


像这样?

>>> map(lambda x: test_string[slice(*x)], zip(split_points, split_points[1:]+[None]))
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']

We're ziping split_points使用移位的 self,创建所有连续的切片索引对的列表,例如[(0,3), (3,8), ...]。我们需要添加最后一个切片(32,None)手动,因为zip当最短序列用完时终止。

Then we map在这个列表上有一个简单的 lambda 切片器。请注意slice(*x)这创建了一个slice https://docs.python.org/2/library/functions.html#slice对象,例如slice(0, 3, None)我们可以用它来对序列(字符串)进行标准切片项目吸气剂 https://docs.python.org/2/library/operator.html#operator.getitem (__getslice__在Python 2)。

更多 Pythonic 实现可以使用列表理解来代替map+lambda:

>>> [test_string[i:j] for i,j in zip(split_points, split_points[1:] + [None])]
['the', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过预定义索引分割Python字符串[重复] 的相关文章

  • 如何对预测值进行反向移动平均(在 pandas 中,rolling().mean)操作? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个像这样的 df import numpy as np import pandas as pd import matplotlib
  • 在python中合并3个dict()

    如果多个字典之间有公共字符串 是否有逻辑合并多个字典的方法 即使这些公共字符串在一个 dict 的值与另一个 dict 的键之间匹配 我在 SO 上看到了很多类似的问题 但似乎没有一个问题能解决我将 较低级别文件 中的多个键与较高键 值中的
  • 为什么any (True for ... if cond) 比any (cond for ...) 快得多?

    检查列表是否包含奇数的两种类似方法 any x 2 for x in a any True for x in a if x 2 计时结果与a 0 10000000 每次尝试五次 次数以秒为单位 0 60 0 60 0 60 0 61 0 6
  • 如何将多项式拟合到带有误差线的数据

    我目前正在使用 numpy polyfit x y deg 将多项式拟合到实验数据 然而 我想拟合一个基于点误差使用加权的多项式 我已经发现scipy curve fit http docs scipy org doc scipy refe
  • Python矩阵问题[重复]

    这个问题在这里已经有答案了 这是从这个线程继续的 Python矩阵 有什么解决方案吗 https stackoverflow com questions 5835583 python matrix any solution Input fr
  • Python int和float在64位系统中的内存消耗

    我正在 Python 3 4 的 64 位系统中尝试以下代码 以了解不同原始数据类型的内存消耗 import sys print sys getsizeof 45 prints 28 print sys getsizeof 45 2 pri
  • 当类的任何属性被修改时,类如何运行某些函数?

    是否有一些通用方法可以让类在以下情况下运行函数 any它的属性被修改了吗 我想知道是否可以运行某些子进程来监视类的更改 但也许有一种方法可以继承class并修改一些on change函数是 Python 类的一部分 有点像默认的 repr
  • Python:当为变量分配新内容时,“旧”内存是否被释放?

    如果为变量分配了任何新内容 为 旧内容 分配的内存是否会 正确 释放 例如 在以下脚本中 在为 a 分配一些新内容后 变量 a 作为零数组的内存是否会被释放 import numpy a numpy zeros 1000 a a 1 我想象
  • 令人困惑的问题>> FileNotFoundError:[Errno 2]没有这样的文件或目录:

    这个问题让我很困惑 也许问题出在代码上 希望你看一下 with open training images labels path r as file lines file readlines 他说该文件不存在 FileNotFoundErr
  • 群组名称不能以数字开头?

    看来我不能使用像这样的正则表达式 P lt 74xxx gt 0 9 重新打包会引发错误 sre constants error bad character in group name u 74xxx 我似乎无法使用以数字开头的组名称 为什
  • 使用 Pytest 捕获 SystemExit 消息

    我正在使用 pytest 编写测试 我遇到了一些函数抛出异常的情况SystemExit如果输入错误 终端上会显示一些错误消息 我想为以下情况编写测试SystemExit抛出并验证输出错误消息中是否有特定字符串 这是代码 def test v
  • argparse add_argument 别名

    有没有办法使用 argparse 创建别名 例如 我想做这样的事情 parser add argument foo parser add argument alias bar foo 也就是说 使用 bar应该相当于使用 foo 您可以简单
  • python中终止进程的跨平台方法

    当我尝试使用 subprocess Popen terminate 或 Kill 命令终止 Windows 中的进程时 出现访问被拒绝错误 如果文件不再存在 我真的需要一种跨平台的方式来终止进程 是的 我知道这不是做我正在做的事情的最优雅的
  • NLTK 无法找到 stanford-postagger.jar!设置CLASSPATH环境变量

    我正在开发一个项目 需要我使用 nltk 和 python 来标记令牌 所以我想用这个 但遇到了一些问题 我浏览了很多其他已经提出的问题和其他论坛 但我仍然无法解决这个问题 问题是当我尝试执行以下命令时 from nltk tag impo
  • Pandas 对 HDFStore 中的大数据进行“分组”查询?

    我有大约 700 万行HDFStore有60多个柱子 数据超出了我的记忆能力 我希望根据 A 列的值将数据聚合到组中 pandas 的文档分割 聚合 组合 http pandas pydata org pandas docs stable
  • 在类方法 Python 中调用多处理

    最初 我有一个类来存储一些处理后的值 并通过其他方法重用这些值 问题是当我尝试将类方法划分为多个进程以加速时 python 生成了进程 但它似乎不起作用 正如我在任务管理器中看到的那样 只有 1 个进程在运行 并且结果从未传递 我做了几次搜
  • 确定 pyInstaller 生成的 Python EXE 中的应用程序路径

    我有一个驻留在单个 py 文件中的应用程序 我已经能够让 pyInstaller 将其成功捆绑到 Windows 的 EXE 中 问题是 应用程序需要一个 cfg 文件 该文件始终直接位于应用程序旁边的同一目录中 通常 我使用以下代码构建路
  • 计算列表中的子列表

    L 2 4 5 6 2 1 6 6 3 2 4 5 3 4 5 我想知道任意子序列出现了多少次 s 2 4 5 例如会返回2次 I tried L count s 但它不起作用 因为我认为它期望寻找类似的东西 random numbers
  • 将 PySpark RDD 作为新列添加到 pyspark.sql.dataframe

    我有一个 pyspark sql dataframe 其中每一行都是一篇新闻文章 然后我有一个 RDD 来表示每篇文章中包含的单词 我想将单词的 RDD 作为名为 单词 的列添加到我的新文章数据框中 我试过 df withColumn wo
  • 如何使用字符串的值将字符串转换为 wstring?

    我是 C 新手 我有这个问题 我有一个名为 DATA DIR 的字符串 需要将其格式化为 wstring string str DATA DIR std wstring temp L s str Visual Studio 告诉我没有与参数

随机推荐

  • JavaScript 数组是 NaN? AngularJS ng模型

    我想看看 ngModel 的价值是什么 directive myDir function return require ngModel link function scope elm attr ngModel if ngModel retu
  • @ControllerAdvice 异常处理程序方法未被调用

    我正在为 Spring MVC 中的异常处理开发示例演示应用程序 我正在尝试Exception Handling With ControllerAdvice 我按照中描述的步骤操作this http www baeldung com 201
  • .change() 和 .on("change") 之间有区别吗? [复制]

    这个问题在这里已经有答案了 之间有什么区别 selector change function and selector on change function 如果有的话 在大多数情况下我应该使用哪一个 内部没啥区别change函数会使用 o
  • 如何在导出的pdf中显示印地语字体?

    我正在尝试显示印地语字体在使用生成的pdf文件中iReport 我在中添加了印地语 ttf 字体iReport对于相同的 iReport工具正在正确显示印地语字体iReport查看器 但是当我将其导出到 pdf 文件时 我没有在 pdf 文
  • 确定文件是否为空的最佳方法(php)?

    我在模板中包含了一个 custom css 文件 以允许网站所有者添加自己的 CSS 规则 但是 当我发送文件时 它是空的 如果他们没有向其中添加任何规则 则加载它是没有意义的 确定其是否为空的最佳方法是什么 if 0 filesize f
  • Android 中的对话框被关闭或取消有什么区别?

    正如标题所说 Android 中对话框被关闭或取消有什么区别 通常 当对话框的工作完成并从屏幕上删除时 对话框就会被关闭 当用户想要退出对话框并按 后退 按钮时 对话框将被取消 例如 屏幕上有一个标准的是 否对话框 如果用户单击 否 则对话
  • 无法在react router dom中使用Link传递道具

    using this to pass props over Watch page but can t get any value 我是新手 所以可能会出现愚蠢的错误或信息不足 请让我知道任何额外信息 如果您正在使用react router
  • ostrstream 将常量字符串解释为指针

    我在清理旧 C C 应用程序的调试宏时遇到了这个问题 我们有一个继承自的 Tracer 类ostrstream 我知道自 C 98 以来它已被弃用 但这个应用程序是在 1998 年编写的 我们这样使用它 Tracer lt lt some
  • 如何从 matplotlib 将时间控制面板添加到 FuncAnimation

    我目前正在使用matplotlib animation FuncAnimation http matplotlib org api animation api html matplotlib animation FuncAnimation在
  • 注销后实时数据库onDisconnect不执行

    我已经实现了 Firebase 实时数据库存在系统 如官方 Firebase 文档中所示 我希望确保数据库安全 以便登录用户只能写入数据库中自己的存在条目 因此 在登录时 用户写入参考路径 auth authId connections并同
  • 图表不会显示数据点

    我正在尝试做一个Chart使用字典中的值但是我的Chart不显示任何内容 我的代码运行良好 没有错误 并且表单上有一个图表 我以前从未用 C 制作过图表 所以我不知道我在做什么 这是我的填充代码 如果我删除StatChart update
  • 更改JIT编译的最终值

    我注意到一件非常奇怪的事情 在通过反射更改最终字段后 返回该字段的方法始终给出旧值 我想这可能是因为 JIT 编译器 这是示例程序 public class Main private static final Main m new Main
  • 无法以编程方式启动 Windows Azure VM

    我正在执行 REST API 操作开始角色 http msdn microsoft com en us library jj157189 aspx 在链接中https management core windows net subscrip
  • RedHat 上的 Scipy 和 Scikit-learn 中未定义的符号

    我正在尝试在没有 root 权限的 64 位 Red Hat Enterprise 6 6 服务器上安装 Scikit Learn 我已经全新安装了 Python 2 7 9 Numpy 1 9 2 Scipy 0 15 1 和 Sciki
  • 使用 jQuery 更改模态内容

    我正在使用 twitter bootstrap 的模式来制作弹出表单 下面的代码显示了模式形式 第一情态形式 div class modal fade div class modal dialog modal dialog1 div cla
  • 如果不通过 createElementNS 处理,为什么动态 SVG 无法工作

    我试图在纯 JS 中操作 SVG 发现如果我不使用类似的方法 它就不会按预期运行createElementNS and setAttributeNS
  • 使用 Anaconda 或 Canopy 安装 Python 模块

    我玩过一点 Python 但从来不需要安装自己的包 我目前正在尝试编写一个读取 tiff 文件的程序 因此我尝试安装 libtiff 包 但我做了一场噩梦 首先 我使用的是 Anaconda 发行版和短语 conda install lib
  • 在 django 模板中输出排序的 python 字典

    我得到了一个 python 字典 如下所示 由于隐私原因 重要信息被替换为 xxx 我想在 django 模板中显示这个字典 但它应该是有序的 所以它应该以 A 开头 然后继续以 B 而不是 H 这是我的字典 缩短 A birthday d
  • 无法在 Mac 上找到 matplotlib 的字体缓存

    我对此进行了很多研究 但无法使其发挥作用 如何更改 matplotlib 的字体 根据我的研究 我认为我的问题是字体缓存 我在正确的文件夹中有 ttf 人们一直说 rm matplotlib fontList cache 是要使用的命令 但
  • 通过预定义索引分割Python字符串[重复]

    这个问题在这里已经有答案了 我有一个字符串 我想将其在特定位置拆分为字符串列表 分割点存储在单独的分割列表中 例如 test string thequickbrownfoxjumpsoverthelazydog split points 0