在 Python 中将字符串分成两半

Manav Narula 2021年10月2日
在 Python 中将字符串分成两半

字符串可以被认为是一个字符序列。在 Python 中,此类对象是不可变的,可以使用不同的函数对其进行操作。

在本教程中,我们将讨论如何在 Python 中将字符串分成两半。

为此,我们将使用字符串切片方法。

在字符串中,每个字符都存储在特定位置。我们可以使用这些索引来访问字符。字符串切片是一种使用索引方法将字符串划分为子字符串的方法。我们可以使用此方法将字符串分成两半。

请参考下面的代码。

s = "string"
s1 = s[: len(s) // 2]
s2 = s[len(s) // 2 :]
print(s1, s2)

输出:

str ing

在上面的代码中,我们正在处理一个包含偶数个字符的字符串。这里的 len() 函数用于返回字符串的长度。我们将字符串分成包含前一半字符的一半和包含另一半字符的第二个子字符串。

我们使用//运算符来划分字符串的长度,因为它执行的是地板除法,并返回一个整数。当我们处理一个包含奇数个字符的字符串时,我们必须处理导致两个长度不等的子字符串的额外字符。

例如,

s = "example"
s1 = s[: len(s) // 2]
s2 = s[len(s) // 2 :]
print(s1, s2)

输出:

exa mple

如果需要,我们也可以删除这个额外的字符。为了实现这一点,我们只需要对上面的代码做一些细微的改动。我们将使用 if() 语句来检查字符串的长度是否为偶数。如果是偶数,那么我们将其一分为二并拆分字符串;否则,我们将其一半增加一并跳过中间的额外字符。

例如,

s = "example"
s1 = s[: len(s) // 2]
s2 = s[len(s) // 2 if len(s) % 2 == 0 else (((len(s) // 2)) + 1) :]
print(s1, s2)

输出:

exa ple

我们还可以使用 slice() 构造函数来执行字符串切片。要使用这个方法,我们需要使用这个函数并初始化一个对象。我们使用这个对象来执行切片并将字符串分成两半。

例如,

s = "string"
a = len(s)
s1 = slice(0, len(s) // 2)
s2 = slice(len(s) // 2, len(s))
print(s[s1], s[s2])

输出:

str ing

请注意,本文讨论了如何将字符串拆分为两个相等的部分。我们也可以很容易地使用上述方法根据某个索引拆分字符串。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python String