python去除列表中重复的字符串
时间: 2023-04-09 20:00:38 浏览: 419
可以使用 set() 函数将列表转换为集合,再将集合转换回列表即可去除重复的字符串。具体代码如下:
```python
lst = ['apple', 'banana', 'orange', 'apple', 'pear', 'banana']
lst = list(set(lst))
print(lst)
```
输出结果为:`['orange', 'banana', 'pear', 'apple']`
相关问题
怎么用Python去除文本文件中重复的字符串
可以使用Python中的set()函数去除文本文件中的重复字符串,具体步骤如下:
1. 打开文本文件并读取所有内容
2. 使用split()函数将内容分割成单个字符串,并将其转换为set类型,这样就可以去除重复的字符串
3. 将去重后的字符串重新连接起来,得到最终的文本内容
下面是一个示例代码:
```python
with open('text.txt', 'r') as f:
text = f.read()
unique_text = ' '.join(set(text.split()))
with open('new_text.txt', 'w') as f:
f.write(unique_text)
```
在这个示例中,我们假设要去除的文本文件名为text.txt,去重后的文本将保存在new_text.txt文件中。如果需要保留字符串的顺序,则可以使用OrderedDict类来代替set()函数。
python去除字符串中重复的字符,并按字符在原串中出现的顺序输出。
可以使用有序字典(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` 类型来存储每个字符在原字符串中出现的位置,并保证输出时按照字符在原字符串中出现的顺序输出。最后,我们将有序字典中的每个字符拼接成一个字符串并返回。
阅读全文