Python 3 中 str.translate 的自定义表

2024-01-02

如果我运行这段代码:

s.translate(str.maketrans({'as': 'dfg', '1234': 'qw'}))

我会得到:

ValueError: string keys in translate table must be of length 1

有没有办法使用一次替换多个字符str.translate?文档说我可以使用codecs寻求灵活的方法,但我不知道如何做。

如果不是,那么可以做什么呢?


No. str.translate可以使用solely替换单个字符。 替换字符串可以是任意长度,但是keys必须是单个字符。


当他们的文档提到codecs他们说你可以实现自定义编码,注册它,然后使用它打开文件......这不是调用类似的东西codecs.maketrans,这是一项相当大的工作。我个人会使用re.sub通过函数替换:

replacements = {'as': 'dfg', '1234': 'qw'}
re.sub('({})'.format('|'.join(map(re.escape, replacements.keys()))), lambda m: replacements[m.group()], text)

这似乎做你想做的:

>>> re.sub('({})'.format('|'.join(map(re.escape, replacements.keys()))), lambda m: replacements[m.group()], "test as other test1234")
'test dfg other testqw'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 3 中 str.translate 的自定义表 的相关文章

  • 使用 numpy 和 matplotlib 绘制总和直方图,而不是计数

    我有一些每行两列的数据 就我而言 工作提交时间和区域 我使用 matplotlib 的 hist 函数生成一个图表 其中 x 轴上按天划分时间 y 轴上按天计数 import numpy as np import matplotlib py
  • _启动服务器时 Django 中出现死锁错误

    我在启动 python 服务器时多次遇到此错误 当我更改任何文件并且服务器再次启动时也会发生这种情况 我尝试删除环境并重新创建环境 但仍然存在相同的错误 Python 3 5 2 默认 2018 年 11 月 12 日 13 43 14 G
  • 在Python中使用子文件夹的名称为每个子文件夹创建空文件

    如果我的文件夹结构如下 folder sub1 sub1 1 sub1 sub1 2 sub1 sub1 3 sub2 sub2 1 sub2 sub2 2 sub2 sub2 3 我想让每个子文件夹的文件使用子文件夹的名称 我怎样才能用P
  • 如何在 PyQt5 GUI 中快速绘制 matplotlib 实时绘图

    几年前 我已经尝试过嵌入现场matplotlib中的情节PyQt5图形用户界面 实时绘图显示从传感器捕获的实时数据流 某些过程 我已经成功了 您可以在此处阅读相关帖子 您自己的 GUI 中的 Matplotlib 动画 https stac
  • 如何使用Python根据Excel中的文本更改颜色?

    在Excel单元格中 通过和失败的文本会有所不同 我必须分别为通过 通过 通过 通过 提供绿色背景颜色 为失败 失败 失败 失败 提供红色背景颜色 如何根据文本更改颜色 我的脚本 import xlwt workbook xlwt Work
  • 如何为超过 50.000 个网址的 django 站点地图创建索引

    我有以下网址配置 url r sitemap xml index sitemaps sitemaps url r sitemap P section xml cache page 86400 sitemap sitemaps sitemap
  • 如何将 int numpy 数组的列乘以浮点数字并保持 int 形式?

    我有一个 numpy 数组 gt gt gt b array 2 2 6 4 10 6 我想将第一列乘以浮点数 结果我需要 int 数字 因为当我这样做时 gt gt gt b 0 2 1 It says TypeError Cannot
  • 在 Django Admin 中隐藏 Auth 部分 [重复]

    这个问题在这里已经有答案了 在 Django 管理中 有什么方法可以隐藏 Auth 部分吗 假设这是 Django 和准系统项目的全新安装 没有应用程序 只有管理员 您可以使用admin site unregister from djang
  • 以元组作为参数的新样式格式

    为什么我不能使用元组作为新样式格式化程序的参数 string format 它在旧风格 字符串 中工作正常吗 这段代码的工作原理 gt gt gt tuple 500000 500 5 print First item d second i
  • python中计算最小范数解或从伪逆得到的解最准确的方法是什么?

    我的目标是解决 Kc y 与伪逆 即最小范数解 c K y 这样模型 希望 是高次多项式模型f x sum i c i x i 我对不确定的情况特别感兴趣 在这种情况下 我们拥有比数据更多的多项式特征 方程很少 变量 未知数太多 colum
  • 如何在运行测试用例后保留 django 测试数据库

    当我通过输入运行测试用例时 python manage py test myapp 测试用例完成后 django 测试运行程序默认删除测试数据库 我不想让它被删除 我可以使用任何数据库 我想保留我的数据库 因为数据库中有错误 我想在创建的数
  • 使用矩阵代数来操作字符串:可行吗?

    我正在尝试使用矩阵代数来操作字符串 这意味着能够使用字符串或字符串数 组的串联和粘贴来实现多个类似矩阵的结构 我之前尝试在 R 上实现这个东西 但这是不可能的 因为矩阵只能有一维条目 我希望足够的与语言无关和抽象 但为了清楚起见 我将使用类
  • 伪造文件系统/虚拟文件系统

    我有一个 Web 服务 用户可以将在服务器上运行的 python 脚本上传到该服务 这些脚本处理服务器上的文件 我希望它们能够仅看到服务器文件系统的特定层次结构 最好 一个临时文件夹 我在其中复制要处理的文件和脚本 该服务器最终将是基于 L
  • 使用 Python ast 模块访问语法树中的节点

    我正在玩 python ast 抽象语法树 我编写了以下内容 它访问了 AST 的所有节点 import ast class Py2Neko ast NodeVisitor def generic visit self node print
  • 如何计算列表的最小不公平性总和

    我试图将问题陈述总结如下 Given n k和一个数组 列表 arr where n len arr and k is an integer in set 1 n inclusive 对于数组 或列表 myList 不公平总和定义为sum中
  • 从 sqlalchemy 获取第一行

    我有以下查询 profiles session query profile name filter and profile email email profile password password hash 如何检查是否存在一行以及如何返
  • sklearn:如何在 sknn 中重置回归器或分类器对象

    我定义了一个回归器 如下所示 nn1 Regressor layers Layer Rectifier units 150 Layer Rectifier units 100 Layer Linear regularize L2 dropo
  • 从 S3 存储桶下载 300 万个对象的最快方法

    我尝试过使用 Python boto 多处理 S3cmd 和 J3tset 但都在努力解决 有什么建议 也许是您一直在使用的现成脚本或我不知道的其他方式 EDIT eventlet boto 是一个有价值的解决方案 如下所述 在这里找到了一
  • Jupyter Notebook 输出中仅部分显示图表

    我正在尝试获取一个类似于此链接中显示的 2 的 PyLDAvis 图 您可以立即看到它 主题间距离图和前 30 个最显着的术语 http nbviewer jupyter org github bmabey hacker news topi
  • Google 网上论坛 API 添加成员

    我在互联网上找到了很多有关将成员添加到 Googlegroups 群组中的信息 但我无法使其发挥作用 我正在 Python DJango 工作 使用企业帐户 我设法使用配置 API 添加它们 但无法使用新的目录 API 来添加它们 问题是我

随机推荐