Python 字符串操作2024 年 8 月 29 日 | 阅读 6 分钟 在本教程中,我们将学习一些很酷的字符串操作方法。我们将看到如何以 Pythonic 的方式操作字符串。字符串是每个 Python 程序员都会用到的基本且重要的数据结构。在 Python 中,字符串是用单引号('...')或双引号("...")括起来的字符序列。它是一种不可变(immutable)的内置数据结构,意味着一旦创建了字符串,就无法修改它。但是,我们可以通过连接或切片现有字符串来创建新字符串。 现在让我们来了解一些必须知道的 Python 字符串操作技巧。 1. 字符串填充:优雅地添加额外字符字符串填充是指在字符串的开头或结尾添加字符,直到达到特定长度。这在格式化文本以便与其他数据对齐或使其更易于阅读时非常有用。 在 Python 中,您可以使用 str.ljust()、str.rjust() 和 str.center() 方法来填充字符串。 这是一个使用 str.ljust() 方法用空格填充字符串的示例 示例 - 输出 Python 在上面的示例中,ljust() 方法在字符串末尾添加空格,直到字符串长度达到十个字符。 我们还可以通过将填充字符作为参数传递给方法来指定它 输出 - 输出 ----Python 在此示例中,rjust() 方法在字符串开头添加破折号,直到字符串长度达到十个字符。 str.center() 方法可用于将字符串居中在特定宽度内 示例 - 输出 **Python** 2. 字符串拆分字符串拆分是指根据指定的定界符或分隔符将字符串划分为多个子字符串。在 Python 中,您可以使用 str.split() 方法来拆分字符串。 这是一个基于空格字符拆分字符串的示例。 示例 - 输出 ['Hello', 'world,', 'how', 'are', 'you', 'today?'] 在此示例中,split() 方法返回一个子字符串列表,其中每个子字符串对应于原始字符串中的一个单词。 我们也可以指定一个不同的分隔符来拆分字符串 示例 - 输出 ['apple', 'banana', 'orange', 'grape'] 在上面的示例中,split() 方法根据逗号拆分字符串,并返回一个子字符串列表,其中每个子字符串对应于原始字符串中的一种水果。 默认情况下,split() 方法根据空格字符拆分字符串。但是,您也可以使用 sep 参数指定一个不同的分隔符。 示例 - 在此示例中,split() 方法根据破折号(-)拆分字符串,并返回一个子字符串列表,其中前两个子字符串对应于第一种和第二种水果,第三个子字符串对应于剩余的水果。maxsplit 参数指定要执行的最大拆分次数。 3. 使用 F-Strings 进行字符串格式化f-string 是 Python 3.6 及更高版本中的一个功能,允许在字符串字面量中嵌入表达式。它们是创建包含动态值或使用变量值格式化字符串的便捷方法。让我们来理解下面的例子。 示例 - 输出 Hello, my name is Alice and I'm 30 years old. We can also format value in a specific way. 示例 - 输出 The price is $12.35 4. 消除字符串中不必要的字符Python 的 strip() 方法在数据清理中非常有用,尤其是在删除字符串开头或结尾的不必要字符时。数据科学家经常发现数据清理工作繁琐,但 Python 的内置字符串操作方法使其更容易删除字符串中不需要的字符。strip() 方法尤其可以删除字符串开头或结尾的字符。 示例 - 输出 Hello, World 解释 - 在上面的代码中,strip() 方法用于删除文本字符串开头和结尾的感叹号(!)。结果字符串 clean_text 只包含文本内容,没有任何不必要的字符。 请注意,strip() 方法仅删除字符串开头和结尾的字符。如果您想删除字符串内部的字符,可以使用其他字符串操作方法,例如 replace() 或正则表达式。 5. 连接字符串在 Python 中,我们可以使用 + 运算符来连接字符串。下面是一个例子 示例 - 输出 Hello world 在上面的示例中,我们首先定义了两个字符串 string1 和 string2。然后我们使用 + 运算符将它们连接起来,并在它们之间添加一个空格,以创建一个名为 result 的新字符串。最后,我们使用 print() 函数打印出 result 字符串。 另一种方式是,我们可以使用 join() 方法来连接字符串。让我们来理解下面的例子。 示例 - 输出 apple banana cherry 在上面的代码中,我们首先定义了一个分隔符变量,它被设置为一个空格字符。然后我们定义了一个名为 my_list 的列表,其中包含三个字符串。我们在分隔符变量上使用 join() 方法,并将 my_list 列表作为参数传递。join() 方法使用分隔符将 my_list 列表中的字符串连接起来,并返回一个名为 result 的新字符串。最后,我们使用 print() 函数打印出 result 字符串。 6. 有效地搜索子字符串查找搜索字符串是日常编程中的常见要求。Python 提供了两种方法。一种是 find() 方法 - 示例 - 输出 17 35 第二种方法是 index() - 示例 - 输出 17 35 # ValueError: substring not found 正如我们所见,Python 的 find() 方法在找不到字符串时返回 -1。但是,index() 方法会引发一个错误。 7. 利用正则表达式处理复杂的字符串正则表达式(regex)是处理 Python 中复杂字符串操作任务的强大工具。它们允许我们在字符串中搜索模式,提取信息,并根据这些模式执行替换。 要在 Python 中使用 regex,我们首先需要导入 re 模块。这是一个使用 regex 在字符串中搜索模式的简单示例 让我们理解下面的例子。 示例 - 输出 Match Found 解释 - 在上面的代码中,我们在字符串 "The quick brown fox jumps over the lazy dog." 中搜索模式 "fox"。re.search() 函数在找到模式时返回一个匹配对象,否则返回 None。我们使用 if 语句检查是否找到匹配项,并打印相应的消息。 让我们来理解另一个在 Python 中使用 regex 的例子 - 示例 - 解释 - 在上面的示例中,我们使用 regex 从具有特定格式的字符串中提取姓名和年龄。模式 r"(\w+) (\w+) \((\d+) years old\)" 匹配第一个名字、姓氏以及括号中的年龄。我们使用 match.group() 方法提取匹配的组并打印它们。 8. 移除字符串的简便方法通常,我们使用循环来反转给定的字符串;也可以使用切片来反转。但是,这不是 Pythonic 的方式。让我们看下面的例子。 示例 - 输出 reteP 下一话题Alexa Python 开发 |
PyQt5 是一个流行的 Python GUI 框架,它提供了一套用于创建桌面应用程序的工具。PyQt5 中的一个组件是 QDockWidget,它是一个可以停靠在 QMainWindow 中或作为顶级窗口浮动的窗口小部件。要设置...
阅读 3 分钟
在本教程中,我们将通过跳过 GIL 来学习 Python 中的并行处理。GIL 是 Python 中的一个重要概念,它阻止多个线程在同一进程中并行执行 Python 字节码。这意味着即使在多核处理器上,Python 线程...
14 分钟阅读
在计算机科学中,线程是命令的集合,可以通过调度程序(操作系统的一部分)单独控制。线程用于同时运行多个线程。线程意味着程序中的多个任务和函数调用。多线程程序…
阅读 4 分钟
在本教程中,我们将使用 Python 编程语言编写程序,通过酒店价格比较 API 查找酒店价格。我们将使用 Makcorpse 酒店 API。此 API 用于获取 JSON 数据,并有助于比较酒店价格、评分,…
5 分钟阅读
Bokeh 是 Python 的一个库,用于通过绘制图形和图表进行数据可视化。输出可以在不同平台上获得,例如 Notebook、HTML、JavaScript 和浏览器。Figure 类用于在图表上创建新图形,并且...
阅读 3 分钟
Python 流 Python 流是用于特定数据处理范式的术语,涉及数据项在通过一系列处理管道时进行顺序处理。流允许数据处理是连续、有效且内存友好的,而无需将整个数据集加载到内存中...
11 分钟阅读
? Python 简介 Python 是一种灵活且广泛使用的编程语言,它提供了许多支持其执行的实现。其中,CPython 仍然是最著名且最广泛使用的实现。作为 Python 的默认解释器,CPython 在执行 Python 代码和提供基础方面发挥着关键作用...
阅读 6 分钟
严肃的软件开发需要性能优化。在优化应用程序性能时,我们无法回避性能分析器。性能分析器通过监控生产服务器或跟踪方法调用的频率和持续时间来进行全方位的分析。以下教程将介绍使用Python的基础知识...
阅读 17 分钟
洗牌指的是以随机顺序重新排列元素,这意味着在排列元素时不考虑任何特定顺序。在本教程中,我们将学习如何使用 Python 对列表中的元素进行洗牌。我们将用于洗牌的不同方法...
阅读 3 分钟
我们都可能听说过应用程序处理缓慢或执行缓慢,但我们是否曾尝试理解其背后的原因?应用程序处理或执行我们的命令所花费的时间可能是有原因的,但RAM呢...
阅读 12 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India