users = {'196': ('110', '1'), '186': ('269', '1'), '22': ('68', '4'), '196': ('650', '3')}
movies = {'110': 'Operation Dumbo Drop (1995)', '186': 'Blues Brothers, The (1980)', '269': 'Full Monty, The (1997)', '68': 'Crow, The (1994)', '650': 'Seventh Seal, The (Sjunde inseglet, Det) (1957)'}
我的代码创建了一个嵌套字典,其中的键是唯一的用户列表(来自用户的键),但使用来自电影的键替换电影ID的值(来自用户的值列表的第一项)并保留分数(来自用户的值列表的第二项)是:
users_preference = {k: list(set().union((*map(lambda x: [x for x in movies.values()], v[0])) )) for k, v in users.items() }
但这会返回每个用户的所有电影,我不知道如何添加分数。你能帮忙吗?非常感谢。你知道吗
预期输出类似于:
users_preference = {'196': {'Operation Dumbo Drop (1995)': '1', 'Seventh Seal, The (Sjunde inseglet, Det) (1957)': '3'}
保持简单,您可以使用键从movies dict访问值。 把它看作是为用户中的每个键创建一个新的元组作为值。你知道吗
更冗长
使用
users
格式无法获得预期的输出,我建议您更改为字典,其中值是元组列表:输出
相关问题 更多 >
编程相关推荐