请看下面的代码和结果,我得到
def load_watchers():
try:
users = {}
with open('xyz.data','r') as user_file2:
for line in user_file2:
(user_id, movie_id) = line.split('\t')[0:2]
users[movie_id] = user_id
movie_genres_watchers = {}
with open('abc.item','r') as movie_file2:
for line in movie_file2:
data = line.split('|')
movie_id = data[0]
movie_title = data[1]
movie_genre = data[6:23]
movie_genres_watchers.setdefault(movie_id, {})
movie_genres_watchers[movie_id][movie_title] = movie_genre,users[movie_id]
return movie_genres_watchers
except IOError as ioerr2:
print('File error in Function 2: ' + str(ioerr2))
执行命令后
movie_genres_watchers = load_watchers()
movie_genres_watchers['427']
我得到了一个结果
{'To Kill a Mockingbird (1962)': (['0',
'0',
'0',
'0',
'0',
'0',
'0',
'1',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0',
'0'],
'912')}
部分正确。你知道吗
基本上,结果中912是使用的\ id,而不是唯一一个。我在输出中得到的movie-for-movie-for-movie-id(427)有许多与电影相关的用户id。你知道吗
此电影id链接到许多用户id。因此理想情况下,所有这些用户id也应该用于此特定电影。但我只得到一个。你知道吗
你们能告诉我在上面的代码里我做错了什么吗? 如果有人能帮上忙,我将不胜感激。。 提前谢谢。你知道吗
创建
users
时,会不断覆盖users[movie_id]
的值。您需要用一个容器来创建users
,比如它的值列表。你知道吗或者
相关问题 更多 >
编程相关推荐