函数找出一组数据中很多字符首次出现的位置
时间: 2024-03-23 22:38:08 浏览: 17
你可以使用Python中的字典来实现。具体步骤如下:
1. 遍历字符串,对于每个字符,如果它不在字典中,就将它作为键,将它的下标作为值存入字典中。
2. 如果这个字符已经在字典中了,就将它对应的值设为-1,表示这个字符已经出现过多次,不需要再记录它的位置了。
3. 最后遍历字典,找到值不为-1的键对应的值,即为该字符第一次出现的位置。
下面是一个实现该功能的示例代码:
```python
def find_first_occurrence(s):
d = {}
for i, c in enumerate(s):
if c not in d:
d[c] = i
else:
d[c] = -1
res = []
for k, v in d.items():
if v != -1:
res.append((k, v))
return res
```
该函数返回一个列表,其中每个元素是一个元组,表示一个字符第一次出现的位置。例如:
```python
s = "hello, world!"
print(find_first_occurrence(s))
# 输出:[('h', 0), ('e', 1), ('l', 2), (',', 5), (' ', 6), ('w', 7), ('o', 8), ('r', 9), ('d', 10), ('!', 12)]
```
注意,如果字符串中没有重复出现的字符,该函数返回一个空列表。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)