我不确定我的user_dictionary出了什么问题。我创建了get方法或检查并确保它正确上传。密钥设置为用户名,我希望每个密钥等于评级值列表。密钥似乎加载正常,你可以在终端中看到,但当我打电话看到一个特定的键值我得到这个错误([]任何人都知道这意味着什么?我也加入了我加载到user_dictionary的文件,所以你可以看到布局。
我上传文件的1行 ben,5 0 0 0 0 0 0 1 0 1 -3 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 1 3 0 1 0 以不同的名字作为第一个单词
def read_users(user_file_name):
returnDict={}
try:
f = open(user_file_name,"r")
for line in f:
temp=line.split(',')
a=temp[0]
#returnDict[a]=[]
temp.pop(0)
value= map(int, temp)
returnDict[a]=[value]
return returnDict;
except:
return;
班级图书馆:
def __init__(self,books_filename,ratings_filename):
self.book_list = read_books(books_filename)
self.user_dictionary = read_users(ratings_filename)
def getUser_Dictionary(self):
#print(self.user_dictionary.keys())
print(self.user_dictionary['nathan'])
答案 0 :(得分:0)
您没有收到错误,但是您的值是一个空列表。这是因为您将值设置为地图对象而不是您想要的值。
替换这些行:
value= map(int, temp)
returnDict[a]=[value]
使用:
value = list(map(int, temp))
returnDict[a] = value
return_Dict是一个非常令人困惑的变量名,我会避免。