python - Python - 多个变量的子
问题描述
通过 a 传递多个字符串变量的优雅/pythonic 方式是sub
什么?我需要传递多个变量来sub
替换出现在每个变量中的字符串块。
我想避免的工作代码:
import re
txt = "aaa"
txt2 = "aaaCCC"
txt = re.sub(r'aaa', 'bbb', txt)
txt2 = re.sub(r'aaa', 'bbb', txt2)
print(txt)
print(txt2)
解决方案
您可以使用 afunctools.partial
创建一个map
pable 函数:
mappable = functools.partial(re.sub, 'aaa', 'bbb')
这大致相当于做
mappable = lambda t: re.sub('aaa', 'bbb', t)
主要区别在于partial
根据底层函数制作了一个具有花哨名称和其他属性的适当函数包装器。
map
您可以使用 a或理解进行映射:
txt, txt2 = map(mappable, (txt, txt2))
打开生成器的包装会对其进行评估。列表推导也是如此:
result = [mappable(t) for t in (txt, txt2)]
推荐阅读
- javascript - 如何将图像对齐到网格。(我想制作一个带有图片的产品列表,点击后它们链接到相应的页面)
- ubuntu-server - 如何在 Ubuntu 服务器上使用多个 NoIP 帐户设置 NoIP 服务
- c - return 语句不会在 c 中执行
- javascript - 将纯文本字符串格式化为对齐的两列
- javascript - 如何在提交前测试 es6 导入的有效性
- spring-boot - 新创建的 Spring boot starter 项目启动时抛出 ClassNotFoundException
- mongodb - helm 在部署 mongodb 时忽略设置值
- ssis - SSIS 在解决缺少新行的数据负载维护历史记录方面的最佳实践是什么?
- javascript - Mongoose / mongoDb 搜索我需要未填充属性值的地方
- javascript - (课程预订功能)在用户点击 HTML 表单提交之前提示他们选择了周末日期