python删掉连续重复单词,用定义函数写
时间: 2023-08-16 07:05:48 浏览: 70
可以使用 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"
```
相关问题
python:删除重复单词
在 Python 中,可以使用集合(set)来删除重复单词。将字符串转换成单词列表后,将其转换为集合,然后再将集合转换回列表即可。下面是一个示例代码:
```python
sentence = "this is a sentence with duplicate words this is a sentence without duplicates"
words = sentence.split() # 将字符串转换成单词列表
unique_words = list(set(words)) # 将单词列表转换成集合,再转换回列表
print(' '.join(unique_words)) # 将列表转换成字符串输出
```
输出结果:
```
sentence this is a without duplicate words
```
在这个例子中,我们定义了一个字符串 `sentence`,其中包含重复的单词。首先,我们使用 `split()` 方法将字符串转换成单词列表,然后使用 `set()` 函数将其转换成集合,集合会自动去重。最后,我们使用 `list()` 函数将集合转换回列表,再使用 `join()` 方法将列表转换成字符串输出。
使用Python的正则函数编写一个程序,使有一段英文文本 ,其中有多个单词连续重复了 多次 ,编写程序检查重复的单词并只保留一个
可以使用Python的re模块中的正则表达式函数来实现这个程序。以下是一个示例代码:
```python
import re
text = "I love love love Python programming programming"
pattern = r'\b(\w+)(\s+\1)+\b'
repl = r'\1'
result = re.sub(pattern, repl, text)
print(result)
```
输出结果为:
```
I love Python programming
```
解释一下代码:
首先,我们定义了一个字符串变量`text`,其中包含了多个单词连续重复的情况。
然后,我们定义了一个正则表达式模式`pattern`,它匹配了一个单词和它后面连续出现的多个相同单词,这些单词之间可能会有一些空格。
接着,我们使用re.sub()函数来替换匹配到的文本。其中,第一个参数是正则表达式模式,第二个参数是替换后的文本,第三个参数是要处理的原始文本。
在替换后的文本中,我们只保留了一个单词,其他的都被删除了。
最后,我们打印出了替换后的文本。
阅读全文