python去除字符串中重复的字符,并按字符在原串中出现的顺序输出。
时间: 2024-05-01 12:22:17 浏览: 90
可以使用有序字典(OrderedDict)来实现这个功能。具体步骤如下:
1. 初始化一个有序字典,用于存储每个字符在原字符串中出现的位置。
2. 遍历原字符串中的每个字符,如果该字符尚未在有序字典中出现过,则将其添加到有序字典中,并记录其在原字符串中的位置。
3. 最后将有序字典中的每个字符按其在原字符串中出现的顺序输出即可。
下面是代码示例:
```python
from collections import OrderedDict
def remove_duplicate_chars(string):
# 初始化有序字典
d = OrderedDict()
# 遍历原字符串中的每个字符
for i, char in enumerate(string):
# 如果该字符尚未在有序字典中出现过,则将其添加到有序字典中,并记录其在原字符串中的位置
if char not in d:
d[char] = i
# 按字符在原字符串中出现的顺序输出有序字典中的每个字符
return ''.join(d.keys())
# 测试
print(remove_duplicate_chars('hello world'))
# 输出: helo wrd
```
在上面的代码中,我们使用了 Python 中的 `enumerate` 函数来同时遍历字符串中的字符和它们在字符串中的位置。然后,我们使用 `OrderedDict` 类型来存储每个字符在原字符串中出现的位置,并保证输出时按照字符在原字符串中出现的顺序输出。最后,我们将有序字典中的每个字符拼接成一个字符串并返回。
阅读全文