python编写程序,给定若干个字符串,通过函数来统计这若干个字符串中包含多少个不同的单词。
时间: 2024-03-21 12:44:12 浏览: 72
可以使用以下代码来实现:
```python
import re
def count_unique_words(*strings):
words = set()
for string in strings:
# 利用正则表达式提取字符串中的单词
pattern = r'\b\w+\b'
matches = re.findall(pattern, string)
# 将单词加入集合中
words.update(matches)
return len(words)
```
其中,`count_unique_words` 函数接收若干个字符串参数,使用正则表达式从字符串中提取单词,并将所有不同的单词存入一个集合中,最后返回集合的长度,即不同单词的数量。
使用方法:
```python
strings = [
'hello world',
'hello python',
'python is awesome',
'hello world'
]
count = count_unique_words(*strings)
print(count) # 4
```
在这个例子中,输入的字符串列表中一共包含 4 个不同的单词:`hello`、`world`、`python` 和 `is`。
相关问题
PYthon编写程序,给定若干个字符串,通过函数来统计这若干个字符串中包含多少个不同的单词。
可以使用Python中的set数据结构来实现单词去重,再统计set中元素个数即可。
以下是一个示例代码:
```python
def count_words(*strings):
words = set()
for string in strings:
words.update(string.split())
return len(words)
strings = ["this is a test", "hello world", "test test"]
count = count_words(*strings)
print(count) # 输出:5
```
在这个示例代码中,函数`count_words`接收若干个字符串参数,使用set数据结构统计这些字符串中包含多少个不同的单词。在循环遍历每个字符串时,使用字符串的`split`方法将字符串按照空格分割成单词,并将这些单词加入到set中。最后,返回set中元素的个数即为不同的单词个数。
请给出下列题目答案: 编写一个Python程序,找到一个列表中的最大值和最小值。 编写一个Python程序,交换两个变量的值。 编写一个Python程序,将一个字符串反转。 编写一个Python程序,将给定的字符串转换为整数。 编写一个Python程序,判断一个字符串是否是回文。 编写一个Python程序,找到两个列表的交集。 编写一个Python程序,找到一个字符串中的所有子字符串。 编写一个Python程序,找到给定列表中的所有偶数。 编写一个Python程序,将字典按键或值进行排序。 编写一个Python程序,找到一个列表中的所有重复项。
答案:
1. 最大值用max()函数,最小值用min()函数
示例代码:max_num = max(lst) min_num = min(lst)
2. 交换两个变量a,b的值,可以直接用a,b=b,a
示例代码:a, b = b, a
3. 反转字符串用切片[::-1]
示例代码:reverse_str = input_str[::-1]
4. 将字符串转换成整数用int()函数
示例代码:num = int(str_num)
5. 判断字符串是否回文可以把字符串反转,如果和原先的字符串相等,就是回文字符串
示例代码:is_palindrome = input_str == input_str[::-1]
6. 列表的交集用set()函数,再用&符号运算
示例代码:intersection = list(set(list1) & set(list2))
7. 找字符串子串,可以用遍历子串的方式
示例代码:substrings = [input_str[i:j+1] for i in range(len(input_str)) for j in range(i, len(input_str))]
8. 找列表所有偶数,用取余数方式
示例代码:even_num = [num for num in lst if num % 2 == 0]
9. 按键或值排序可以用sorted()函数, key参数中传入 operator.itemgetter(0)表示按键排序,operator.itemgetter(1)表示按值排序
示例代码:sorted_dict = sorted(dict.items(), key=operator.itemgetter(0))
10. 找出列表重复项可以用for循环和判断
示例代码: duplicate_items = [] for item in lst: if lst.count(item) > 1 and item not in duplicate_items: duplicate_items.append(item)
阅读全文