当前位置:首页 > 科技  > 软件

掌握 Python:15 个关于字符串操作的神级单行代码

来源: 责编: 时间:2024-07-03 17:25:20 1338观看
导读今天我们要一起变成Python字符串操作的大师,用短短的单行代码实现看似复杂的任务。准备好你的笔记本,让我们一起探索这些简洁而强大的字符串魔法吧!1. 快速去除字符串两端空白s = " Hello World! "clean_s = s.strip

今天我们要一起变成Python字符串操作的大师,用短短的单行代码实现看似复杂的任务。准备好你的笔记本,让我们一起探索这些简洁而强大的字符串魔法吧!dOm28资讯网——每日最新资讯28at.com

dOm28资讯网——每日最新资讯28at.com

1. 快速去除字符串两端空白

s = "   Hello World!   "clean_s = s.strip()  # 去除首尾空格,简单粗暴!

解释:.strip() 方法就像一把神奇的橡皮擦,擦去字符串开头和结尾的所有空白字符。dOm28资讯网——每日最新资讯28at.com

2. 转换首字母大写

title_case = "hello world".title()  # 让每个单词首字母都穿上大衣!

解释:.title() 方法让每个单词的首字母都自动变为大写,非常适合标题化文本。dOm28资讯网——每日最新资讯28at.com

3. 反转字符串

reversed_str = "python"[::-1]  # 翻转,翻转,让字符串倒立!

解释:利用切片 [start:stop:step],省略 start 和 stop 默认从头到尾,-1 让步长反向,实现反转。dOm28资讯网——每日最新资讯28at.com

4. 分割字符串成列表

words = "one,two,three".split(",")  # 射击!每个逗号后分裂。

解释:.split(separator) 方法,把字符串按指定分隔符切成列表,没有指定就默认为空格。dOm28资讯网——每日最新资讯28at.com

5. 合并列表成字符串

merged_str = "-".join(["apple", "banana", "cherry"])  # 拼接彩虹,用喜欢的符号!

解释:.join(list) 方法,用指定的字符连接列表中的所有元素成为字符串。dOm28资讯网——每日最新资讯28at.com

6. 快速计数字符出现次数

count_a = "banana".count("a")  # 数一数,有几个‘a’?

解释:.count(substring),统计子字符串在原字符串中出现的次数,这下知道香蕉里有多少个‘a’了吧!dOm28资讯网——每日最新资讯28at.com

7. 判断是否包含子字符串

contains_hello = "Hello, Python!".startswith("Hello")  # 开头有秘密吗?

解释:.startswith(prefix) 和 .endswith(suffix) 分别检查字符串是否以特定前缀或后缀开始或结束,返回布尔值。dOm28资讯网——每日最新资讯28at.com

8. 替换字符串中的部分

new_str = "python is fun".replace("fun", "awesome")  # 改头换面,‘fun’变‘awesome’!

解释:.replace(old, new[, count]),将旧字符串替换为新字符串,还可以指定替换次数。dOm28资讯网——每日最新资讯28at.com

9. 字符串长度统计

length = len("Python编程")  # 测量字符串的长度。

解释:len(object),万能的长度测量工具,适用于任何序列对象。dOm28资讯网——每日最新资讯28at.com

10. 中间插入字符

inserted = "Python".join(['(', '3.', ')'])  # 在字符串间施法,插入符号。

解释:通过 .join() 方法,巧妙地在字符串序列的每个元素之间插入字符,这里我们给Python版本号加了括号。dOm28资讯网——每日最新资讯28at.com

11. 列表元素合并为字符串,每个元素间加空格

spaced_list = ' '.join(map(str, [1, 2, 3]))  # 数字变字符串,中间还有空格哦!

解释:先用 map(str, list) 把列表中的每个元素转换成字符串,然后用空格 .join() 起来。dOm28资讯网——每日最新资讯28at.com

12. 大小写转换

lower_to_upper = "lower case".upper()  # 上下翻转,全大写!upper_to_lower = "UPPER CASE".lower()  # 全部小写,低调行事。

解释:.upper() 和 .lower() 分别将字符串转换为全大写和全小写。dOm28资讯网——每日最新资讯28at.com

13. 字符串格式化

formatted = f"My name is {input('What is your name? ')}"  # 输入你的名字,我来告诉你。

解释:f-string(Python 3.6+)允许在字符串中直接嵌入表达式,超级直观方便。dOm28资讯网——每日最新资讯28at.com

14. 制作重复字符串

pattern = "x" * 5  # 重复的魅力,‘x’五连发!

解释:乘号在这里不是数学运算,而是字符串复制的快捷方式。dOm28资讯网——每日最新资讯28at.com

15. 字符串右对齐

aligned_str = "Python".rjust(10, '-')  # 对齐大师,右边留空位,用‘-’填充。

解释:.rjust(width[, fillchar]) 方法使字符串右对齐,并在左侧填充指定字符直到达到指定宽度。dOm28资讯网——每日最新资讯28at.com

高级用法

16. 高级字符串分割与组合:正则表达式

使用正则表达式可以实现更复杂的文本分割。dOm28资讯网——每日最新资讯28at.com

import re# 分割包含数字和非数字的字符串parts = re.split(r'(/d+)', "Python3.9 is fun!")

解释:正则表达式 r'(/d+)' 匹配一个或多个数字,括号表示捕获组,re.split() 会保留这些匹配项,返回的结果中,匹配到的部分也会包括在内。dOm28资讯网——每日最新资讯28at.com

17. 利用列表推导生成字符串

当你需要基于条件生成字符串时,列表推导非常有用。dOm28资讯网——每日最新资讯28at.com

# 生成一个字符串,仅包含原字符串中的大写字母upper_only = ''.join([c for c in "Hello World!" if c.isupper()])

解释:通过列表推导筛选出大写字母,然后用 join() 合并回字符串。dOm28资讯网——每日最新资讯28at.com

18. 字符串的编码与解码

了解字符串与字节之间的转换至关重要。dOm28资讯网——每日最新资讯28at.com

encoded = "你好".encode('utf-8')  # 编码为UTF-8字节decoded = encoded.decode('utf-8')  # 解码回字符串

解释:字符串通过 .encode() 方法可以转换为字节序列,而字节序列通过 .decode() 方法可以转换回字符串。dOm28资讯网——每日最新资讯28at.com

19. 使用zip函数合并多个字符串

当有多个列表或字符串需要对应位置合并时,zip函数大显身手。dOm28资讯网——每日最新资讯28at.com

str1 = "ABC"str2 = "123"merged = ''.join(a + b for a, b in zip(str1, str2))

解释:zip函数将两个字符串配对,然后通过列表推导结合每个配对的字符,最后用 join 连接成一个字符串。dOm28资讯网——每日最新资讯28at.com

20. 查找所有子字符串出现的位置

如果想知道一个子字符串在另一个字符串中所有出现的位置,可以这样做:dOm28资讯网——每日最新资讯28at.com

# 查找所有'is'的位置positions = [m.start() for m in re.finditer('is', 'This is a test. Is it?')]

解释:re.finditer() 返回一个迭代器,遍历所有匹配项,.start() 获取每个匹配的起始索引。dOm28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-98558-0.html掌握 Python:15 个关于字符串操作的神级单行代码

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: CSS 实现3d轮播图的一些思路,你学会了吗?

下一篇: 一分钟了解,预写日志 WAL 的核心思路...

标签:
  • 热门焦点
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 小米官宣:2023年上半年出货量中国第一!

    今日早间,小米电视官方微博带来消息,称2023年小米电视上半年出货量达到了中国第一,同时还表示小米电视的巨屏风暴即将开始。“公布一个好消息2023年#小米电视上半年出货量中国
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 谷歌KDD'23工作:如何提升推荐系统Ranking模型训练稳定性

    谷歌在KDD 2023发表了一篇工作,探索了推荐系统ranking模型的训练稳定性问题,分析了造成训练稳定性存在问题的潜在原因,以及现有的一些提升模型稳定性方法的不足,并提出了一种新
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    ©自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的“新电商三兄弟”成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 8月见!小米MIX Fold 3获得3C认证:支持67W快充

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
  • 半导体需求下滑 三星电子DS业务部门今年营业亏损预计超10万亿韩元

    7月17日消息,据外媒报道,去年下半年开始的半导体需求下滑,影响到了三星电子、SK海力士、英特尔等诸多厂商,营收明显下滑,部分厂商甚至出现了亏损。作为
Top