Python 自动化办公实战课
尹会生
前游戏公司技术总监,前新浪网研发中心技术经理
21781 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 37 讲
Python 自动化办公实战课
15
15
1.0x
00:00/00:00
登录|注册

04 | 函数与字典:如何实现多次替换

if逻辑判断适合将一个范围替换成一个值
字典适合“一对一”替换
replace()函数适合单个替换
实现一个自动多文件标点符号替换函数,将英文符号替换为中文符号
建议将字典和逻辑判断放入自定义函数中,以便复用代码
替换操作选择合适的方法
使用逻辑判断实现“多对一”映射
使用字典做“一对一”映射
字符串的replace()函数
思考题
替换功能

该思维导图由 AI 生成,仅供参考

你好,我是尹会生。
“替换”是我们日常办公经常遇到的操作,比较常见是把文件中的英文标点符号(,.""”)替换成中文标点符号(,。“”)。有时候不仅是标点符号,还需要替换好几个词。还有一种情况不太常见,但是一碰到就很棘手,那就是根据数字范围进行替换,比如“0-6 岁”替换成“少年”,“7-17 岁”替换成“青年”,“18-65 岁”替换成“中年”。
如果直接使用替换函数,你需要编写大量的代码逻辑,但是使用逻辑判断和字典就可以用更高效的代码来实现快速替换功能。那么今天这节课,我们就来学习下怎么实现快速替换。

用 Python 实现“替换”功能的原理

为了让你更直观地理解编程语言里的替换,我先来给你讲一讲用 Python 实现替换的原理。我用一个例子来给你讲解。比如我需要把字符串“新年快乐”替换为“恭喜发财”,在 Python 中,我是通过 replace() 函数来实现的:
string1="aaa新年快乐bbb"
string2=string1.replace("新年快乐", "恭喜发财")
print(string2)
# aaa恭喜发财bbb
string3="aaa新年快乐bbb新年快乐ccc"
string4=string3.replace("新年快乐", "恭喜发财", 2)
print(string4)
# aaa恭喜发财bbb恭喜发财ccc
你可以看到,在这段代码中我使用了 replace() 函数来实现文件内容的替换。为什么使用的是字符串的替换函数呢?因为在编程语言中,我们通常会把文件内容读取到内存用变量临时储存,再进行处理。为了便于对文字进行查找替换这类的操作,通常会使用字符串这种数据类型的变量来存储文字内容。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了如何通过Python实现多次替换的方法。作者首先介绍了使用replace()函数进行替换的原理,并指出了在实际工作中遇到的复杂替换场景。随后,作者提出了两种实现批量替换的方式:一种是用字典+自定义函数替代replace()函数,另一种是用逻辑判断+自定义函数替代replace()函数。文章重点讲解了用字典+自定义函数替代replace函数实现批量“一对一”替换的方法,通过示例代码演示了如何利用字典和自定义函数来实现批量替换操作。作者详细解释了replace_city()和replace_multi()函数的实现原理,并强调了这种方法的灵活性和可读性。总的来说,本文通过实际案例和代码演示,向读者展示了如何利用Python中的字典和自定义函数来高效实现多次替换的功能。文章还提到了使用逻辑判断实现“多对一”替换的方法,以及建议将字典和逻辑判断放入自定义函数中,以便在类似需求时直接复用代码。文章内容涵盖了多种替换方式,强调了根据被替换内容的形式选择合适的方法,并提出了思考题,引发读者思考如何实现自动多文件标点符号替换函数。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 自动化办公实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • felix
    循环replace执行效率和空间开销好像并没有区别O(n),怎么就没有O(1)的解决方法?😜

    作者回复: 哈哈哈, python中是没有的,而且如果对执行效率很关注的话,应该选择编译型语言来的更快

    2021-02-22
    2
    2
  • Bill
    学习打卡

    编辑回复: good work!

    2021-10-18
  • ifelse
    学习打卡
    2023-07-04归属地:浙江
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部