给定一个字符串,统计字符串中每个字符在该字符串中出现位置的所有索引。python
时间: 2024-09-29 20:02:23 浏览: 17
在Python中,你可以使用内置的`enumerate()`函数以及字典数据结构来统计字符串中每个字符及其出现的位置。这里是一个简单的示例:
```python
def char_positions(s):
position_dict = {}
for index, char in enumerate(s):
if char in position_dict:
position_dict[char].append(index)
else:
position_dict[char] = [index]
return position_dict
# 示例
s = "hello world"
result = char_positions(s)
print(result) # 输出:{'h': [0], 'e': [1], 'l': [2, 3], 'o': [4, 7], ' ': [5], 'w': [6], 'r': [8], 'd': [9]}
```
这个函数遍历输入字符串`s`,对于每个字符,如果它已经在`position_dict`中,就将当前索引添加到对应的列表中;如果没有,就创建一个新的键值对,键是字符,值是一个只包含当前位置的列表。
相关问题
Python给定一个字符串统计字符串中每个字符在该字符中出现位置的所有索引
在Python中,你可以使用列表推导式或者字典结合enumerate函数来统计字符串中每个字符及其出现的位置。这里是一个简单的例子:
```python
def char_positions(string):
# 使用字典存储每个字符及其对应的索引列表
char_dict = {char: [i for i, ch in enumerate(string) if ch == char] for char in set(string)}
return char_dict
# 示例
input_string = "hello world"
result = char_positions(input_string)
print(result)
```
在这个`char_positions`函数中,我们首先创建一个空字典`char_dict`,然后遍历输入字符串的每一个字符(忽略重复),通过`enumerate`获取字符的索引。如果字符已经存在于字典中,我们就将其添加到相应的索引列表中;如果不存在,则添加一个新的键值对,键是字符,值是一个只包含该字符索引的列表。
运行上述代码,将得到一个字典,其中键是字符串中的每个独特字符,值是该字符在字符串中所有出现的索引位置组成的列表。
用python在一个给定的字符串中寻找最晚出现的某个输入子串的索引。
可以使用字符串的rfind方法来寻找最晚出现的某个输入子串的索引,示例代码如下:
```python
s = "hello world, world is beautiful"
sub = "world"
index = s.rfind(sub)
print(index) # 输出 17
```
其中,rfind方法返回最后一次出现子串的索引,如果没有找到则返回-1。