#-*- coding=utf-8 -*-
from operator importitemgetterfrom texttable importTexttablefrom collections importdefaultdictimportmath#读取文件
defreadFile(fileData):
data=[]
rates=[]
f=open(fileData,"r")
data=f.readlines()
f.close()for line indata:
dataLine=line.split("\t")
rates.append([int(dataLine[0]),int(dataLine[1]),int(dataLine[2])])returnrates#创建字典,生成用户评分的数据结构#输入:数据集合,格式:用户id\t硬盘id\t用户评分#输出:1.用户字典:dic[用户id]=[(电影id,电影评分)...]#2.电影字典:dic[电影id]=[用户id1,用户id2...]
defcreateDict(rates):
user_dict={}
movie_dict={}for i inrates:if i[0] inuser_dict:
user_dict[i[0]].append((i[1],i[2]))else:
user_dict[i[0]]=[(i[1],i[2])]if i[1] inmovie_dict:
movie_dict[i[1]].append(i[0])else:
movie_dict[i[1]]=[i[0]]returnuser_dict,movie_di