在 Python 中的字符串中查找字符
字符串是字符的集合。字符串中的每个字符都有一些可用于访问它的特定位置。在本教程中,我们将讨论如何在字符串中查找字符的位置。
使用 find()
函数查找字符串中字符的位置
find()
函数返回子字符串的位置。我们还可以指定要搜索的起点和终点位置(默认情况下,起点为 0,终点为字符串的长度)。
在下面的代码中,我们将使用此函数查找字符串中字符的位置。
s = "python is fun"
c = "n"
print(s.find(c))
输出:
5
请注意,它返回字符串中遇到的字符的第一个位置。关于此函数要记住的另一件事是,当字符串中不存在给定的子字符串时,它将返回-1。
使用 rfind()
函数在字符串中查找字符的位置
该函数类似于 find()
函数,唯一的区别是它返回子字符串的最后位置。
例如,
s = "python is fun"
c = "n"
print(s.rfind(c))
输出:
12
使用 index()
函数查找字符串中字符的位置
index()
函数的用法类似于 find()
函数,以返回字符串中字符的位置。像 find()
函数一样,它也返回字符串中字符的第一个匹配项。
例如,
s = "python is fun"
c = "n"
print(s.index(c))
输出:
5
index()
和 find()
函数之间的区别在于,当字符串中缺少所需的字符时,index()
函数将返回 ValueError
。
使用 for
循环查找字符串中字符的位置
在这种方法中,我们可以注意到字符串中字符的每次出现。我们遍历字符串并分别比较每个字符。显示找到匹配项的每个位置,并将其存储在不同的变量中。
以下代码实现了此逻辑。
s = "python is fun"
c = "n"
lst = []
for pos, char in enumerate(s):
if char == c:
lst.append(pos)
print(lst)
输出:
[5, 12]
我们使用 enumerate()
函数,因为它使迭代更加容易,并为字符串的每个字符分配了一个计数器变量。
我们还可以使用列表推导方法来实现此方法,该方法被认为更快捷,更简洁。
例如,
s = "python is fun"
c = "n"
print([pos for pos, char in enumerate(s) if char == c])
输出:
[5, 12]
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