python删除所有重复单词
时间: 2023-10-11 21:09:56 浏览: 108
可以使用 split() 方法将字符串分割成单词列表,然后使用 set() 方法去除重复单词,最后再将单词列表转换回字符串即可。以下是示例代码:
```python
text = "this is a test test sentence sentence"
words = text.split()
unique_words = list(set(words))
result = " ".join(unique_words)
print(result)
```
输出结果:
```
test a sentence is this
```
注意,这种方法会改变单词的顺序,如果需要保留原来的顺序,可以使用 OrderedDict,代码如下:
```python
from collections import OrderedDict
text = "this is a test test sentence sentence"
words = text.split()
unique_words = list(OrderedDict.fromkeys(words))
result = " ".join(unique_words)
print(result)
```
输出结果:
```
this is a a test sentence
```
相关问题
python删掉连续重复单词
### 回答1:
可以使用正则表达式来解决这个问题。以下是一个示例代码,可以删除连续重复的单词:
```python
import re
text = "I love love love Python, but but but I hate hate Java."
# 使用正则表达式删除连续重复的单词
text = re.sub(r'\b(\w+)(\s+\1)+\b', r'\1', text)
print(text)
```
输出:
```
I love Python, but I hate Java.
```
这个代码中使用了正则表达式的 `\b(\w+)(\s+\1)+\b` 部分来匹配连续重复的单词,然后使用 `\1` 来保留第一个单词。
### 回答2:
Python可以通过使用split()函数将字符串拆分为单词列表,然后遍历列表找出连续重复的单词,并将它们从列表中删除。下面是一种实现方法:
```python
def remove_duplicates(string):
words = string.split() # 将字符串拆分为单词列表
i = 0
while i < len(words) - 1: # 遍历列表
if words[i] == words[i + 1]: # 如果发现连续重复单词
del words[i] # 则将该单词从列表中删除
else:
i += 1
return ' '.join(words) # 将列表中的单词重新连接为字符串
# 测试代码
string = "这 这 是 是 一个 一个 测试 测试"
result = remove_duplicates(string)
print(result)
```
上述代码首先使用split()函数将输入的字符串拆分为单词列表。然后使用一个while循环遍历该列表,判断当前单词是否与下一个单词相同,如果相同,则删除当前单词;如果不同,则继续遍历。最后,使用join()函数将列表中的单词重新连接为字符串,并将结果返回。在上述测试代码中,输入的字符串为"这 这 是 是 一个 一个 测试 测试",输出结果为"这 是 一个 测试",成功删除了连续重复的单词。
### 回答3:
要删除连续重复的单词,我们可以使用Python中的正则表达式。首先,我们需要导入re模块。
接下来,我们可以编写一个函数,该函数会接收一个字符串作为参数,并返回删除连续重复单词后的字符串。
在函数内部,我们使用re模块的sub()函数来替换连续重复的单词。通过传递一个正则表达式模式和替换字符串,我们可以将连续重复的单词替换为一个单词。在这种情况下,我们可以使用r'(\b\w+\b)(\s+\1)+'作为我们的正则表达式模式,其中\b表示单词边界,\w+表示一个或多个字母数字字符,\s+表示一个或多个空格,\1表示与第一个捕获组匹配的内容。
最后,我们将处理完的字符串返回。
下面是一个示例函数的实现:
import re
def remove_duplicates(text):
pattern = r'(\b\w+\b)(\s+\1)+'
return re.sub(pattern, r'\1', text)
text = '今天天气很好好,非常非常适合出去运动。'
result = remove_duplicates(text)
print(result)
输出结果为: '今天天气很好,非常适合出去运动。'
python删掉连续重复单词,用定义函数写
可以使用 Python 的 split() 函数将字符串拆分成单词列表,然后遍历列表,如果当前单词与上一个单词不同,则将其添加到结果列表中。最后将结果列表重新组合成字符串即可。
以下是一个示例代码:
```python
def remove_duplicate_words(text):
words = text.split()
result = [words[0]]
for i in range(1, len(words)):
if words[i] != words[i-1]:
result.append(words[i])
return ' '.join(result)
```
使用方式如下:
```python
text = "this is a a test test string string"
new_text = remove_duplicate_words(text)
print(new_text) # 输出: "this is a test string"
```