判断字符串s中是否有重复单词并输出这些重复单词
时间: 2023-11-27 21:53:28 浏览: 35
可以使用Python中的字典来解决这个问题。遍历字符串中的每个单词,将其作为键值存放在字典中,如果遇到重复的单词,则将该单词添加到一个列表中。最后输出列表中的所有重复单词即可。
以下是示例代码:
```python
def find_duplicate_words(s):
words = s.split()
word_dict = {}
duplicates = []
for word in words:
if word in word_dict:
if word not in duplicates:
duplicates.append(word)
else:
word_dict[word] = None
if duplicates:
print("重复的单词:")
for word in duplicates:
print(word)
else:
print("没有重复的单词。")
# 测试
s = "I am am a student. My name is Alice. Alice is my name."
find_duplicate_words(s)
```
输出结果:
```
重复的单词:
am
Alice
is
my
name
```
相关问题
defq3(s:str)判断字符串s中是否有重复单词并输出这些重复单词
可以使用 Python 中的 Counter 类来实现这个功能。首先,将字符串 s 按照空格划分为单词列表,然后使用 Counter 统计每个单词出现的次数,最后输出出现次数大于 1 的单词即可。
以下是代码示例:
```python
from collections import Counter
def defq3(s: str):
words = s.split()
counter = Counter(words)
duplicates = [word for word, count in counter.items() if count > 1]
if duplicates:
print("重复单词为:", ', '.join(duplicates))
else:
print("字符串中没有重复单词。")
```
例如,调用 `defq3('this is a test string with some words and some repeated words')`,输出结果为:
```
重复单词为: is, some, words, and
```
判断字符串s中是否有重复单词,并输出这些重复单词
可以先将字符串s按照空格分割成单词列表,然后使用一个集合来存储已经遍历过的单词,如果当前单词已经在集合中出现过,就将其添加到结果列表中。最后返回结果列表即可。
以下是Python代码实现:
```python
def find_duplicate_words(s):
words = s.split()
visited = set()
duplicates = []
for word in words:
if word in visited and word not in duplicates:
duplicates.append(word)
visited.add(word)
return duplicates
```
示例:
```python
s = "hello world hello world"
print(find_duplicate_words(s)) # ['hello', 'world']
```
注意,上述实现只能找出完全相同的重复单词,如果两个单词只是大小写不同,它们会被视为不同的单词。如果需要忽略大小写,可以将所有单词转换为小写或大写形式再进行比较。