python找共同爱好
时间: 2023-10-18 19:24:18 浏览: 87
以下是一个简单的示例代码,可以通过输入一组人的爱好,找出其中共同的爱好:
```python
def find_common_hobbies(*hobbies_lists):
common_hobbies = set(hobbies_lists[0])
for hobbies in hobbies_lists[1:]:
common_hobbies = common_hobbies.intersection(set(hobbies))
return common_hobbies
person1_hobbies = ['reading', 'swimming', 'hiking', 'cooking']
person2_hobbies = ['swimming', 'dancing', 'cooking', 'painting']
person3_hobbies = ['reading', 'cooking', 'painting', 'yoga']
common_hobbies = find_common_hobbies(person1_hobbies, person2_hobbies, person3_hobbies)
print(common_hobbies)
```
输出结果为: {'cooking'}
在这个示例中,我们定义了一个函数 `find_common_hobbies`,它接受任意数量的列表参数,然后使用集合的交集运算找出这些列表中共同的爱好。我们使用三个人的爱好列表作为输入,并找出他们共同的爱好。
相关问题
python字典找共同爱好人数
Python字典是一种无序的数据结构,它由键值对组成。要找到共同爱好的人数,可以通过遍历字典的值,并使用计数器来统计相同的值出现的次数。以下是一个示例代码:
```python
def count_common_hobbies(dictionary):
counter = {}
for hobbies in dictionary.values():
for hobby in hobbies:
if hobby in counter:
counter[hobby] += 1
else:
counter[hobby] = 1
return counter
# 示例字典
people_hobbies = {
"Alice": ["reading", "swimming", "cooking"],
"Bob": ["swimming", "hiking"],
"Charlie": ["reading", "cooking"],
"David": ["swimming", "cooking"]
}
common_hobbies = count_common_hobbies(people_hobbies)
print(common_hobbies)
```
输出结果为:
```
{'reading': 2, 'swimming': 3, 'cooking': 3, 'hiking': 1}
```
这表示在给定的字典中,共有2个人喜欢阅读,3个人喜欢游泳,3个人喜欢烹饪,1个人喜欢徒步旅行。
使用python 实现以下功能小明和小王都有不同的爱好,在控制台分别输入小明和小王的爱 好列表(多个爱好之间使用",”分隔),分别输出两人共同的爱 好、两个人所有的爱好以及小明有的小王没有的爱好。
以下是 ChatGPT 的回答:
你好,我可以回答这个问题。以下是使用 Python 实现该功能的代码:
```python
hobbies_ming = input("请输入小明的爱好列表,多个爱好之间使用逗号分隔:").split(",")
hobbies_wang = input("请输入小王的爱好列表,多个爱好之间使用逗号分隔:").split(",")
common_hobbies = set(hobbies_ming) & set(hobbies_wang)
all_hobbies = set(hobbies_ming) | set(hobbies_wang)
ming_only_hobbies = set(hobbies_ming) - set(hobbies_wang)
print("两人共同的爱好为:", common_hobbies)
print("两个人所有的爱好为:", all_hobbies)
print("小明有的小王没有的爱好为:", ming_only_hobbies)
```
希望这个回答能够帮到你。
阅读全文