0
点赞
收藏
分享

微信扫一扫

集合案例—商品推荐系统

数数扁桃 08-23 15:00 阅读 9

系统针对不同的人,根据喜好数大于两个时进行商品推荐

小刚、小明、小华三个人喜好的商品如下

小刚喜欢:百事可乐、可口可乐、芬达、加多宝

小明喜欢:百事可乐、可口可乐、雪碧、蜜雪冰城

小华喜欢:披萨、可口可乐、加多宝、蜜雪冰城

#小刚、小明、小华三个人喜好的商品如下
Gang_hobby = {"pepsi","coca","fanta","加多宝"}
Ming_hobby = {"pepsi","coca","sprite","蜜雪冰城"}
Hua_hobby = {"pizza","coca","加多宝","蜜雪冰城"}

hobbies = [Gang_hobby,Ming_hobby,Hua_hobby]

#系统根据三人喜欢向它们分别推荐商品
#设定机制如果两个人的喜好有2个以上一样,则会推荐商品
#给小刚推荐
hobbies_recommend = set()
hobbies.remove(Gang_hobby)
for i in hobbies:
    if len(Gang_hobby & i) > 1:
        #集合没有列表的extend方法,所以此处用循环遍历方法给集合加入元素
        for k in (i - Gang_hobby):			
            hobbies_recommend.add(k)
print(hobbies_recommend)

#给小明推荐
hobbies = [Gang_hobby,Ming_hobby,Hua_hobby]
#此处使用列表的方法
hobbies_recommend = []
hobbies.remove(Ming_hobby)
for i in hobbies:
    if len(Ming_hobby & i) > 1:
        #利用列表的extend方法添加元素
        hobbies_recommend.extend(list(i - Ming_hobby))
#将列表再转换回集合
print(set(hobbies_recommend))

#给小华推荐
hobbies = [Gang_hobby,Ming_hobby,Hua_hobby]
hobbies_recommend = set()
hobbies.remove(Hua_hobby)
for i in hobbies:
    if len(Hua_hobby & i) > 1:
        for k in (i - Hua_hobby):
            hobbies_recommend.add(k)
print(hobbies_recommend)

举报

相关推荐

0 条评论