python 字母在字符串中的所有位置
时间: 2023-10-30 22:02:49 浏览: 481
Python提供了一种简单且有效的方法来获取一个字符串中某个字母的所有位置。可以使用`find()`方法或者循环遍历字符串来实现。
如果使用`find()`方法,可以通过循环不断查找字母出现的位置,然后将位置添加到一个列表中,直到找不到为止。示例如下:
```python
def find_positions(string, letter):
positions = []
index = -1
while True:
index = string.find(letter, index + 1)
if index == -1:
break
positions.append(index)
return positions
string = "Hello, World!"
letter = "l"
positions = find_positions(string, letter)
print(positions)
```
输出结果为`[2, 3, 9]`,表示字母"l"在字符串中的位置分别是2、3和9。
另一种方法是使用循环遍历字符串,逐个比较每个字符是否等于目标字母,如果相等,则将索引添加到列表中。示例如下:
```python
def find_positions(string, letter):
positions = []
for index, char in enumerate(string):
if char == letter:
positions.append(index)
return positions
string = "Hello, World!"
letter = "l"
positions = find_positions(string, letter)
print(positions)
```
此时输出结果同样为`[2, 3, 9]`。
无论是使用`find()`方法还是循环遍历,都能准确地找到字母在字符串中的所有位置,并返回一个包含这些位置的列表。注意,上述示例中的字母位置是从0开始计数的。
阅读全文