在 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