python "二维" 字典

时间:2021-03-13 23:52:05   收藏:0   阅读:23

今天读在movielens数据集的推荐系统代码读到"二维"字典的写法,这里学习记录一下

def get_dict(records:list, type:str):#此处record为ratings表的前三项,userid movieid rating,通过上面一个函数分为训练和测试集
    # 先看看redis里面有没有,如果有直接返回type_dict
    if redis.exists(type+‘_dict‘):
        return pickle.loads(redis.get(type+‘_dict‘))
    #redis中没有的话,开始新建,记录依次为user_id movie_id rating
    user_movie = {} #新建一个字典
    for record in records:
        user_id = int(record[0])
        movie_id = int(record[1])
        rating = int(record[2])
        if user_id not in user_movie:
            user_movie[user_id]={}
        user_movie[user_id][movie_id] = rating #二维字典

jupyter notebook中测试一下
#在定义的时候初始化二维字典
dict_2d = {‘a‘ : {‘a‘ : 1, ‘b‘ : 3}, ‘b‘ : {‘a‘ : 6}}
dict_2d[‘a‘][‘a‘]
1

#一步一步的创建上面这个“二维”字典
myDict = {}
myDict[‘a‘] = {}
myDict[‘a‘][‘a‘] = 1
myDict[‘a‘][‘b‘] = 3
myDict[‘b‘] = {}
myDict[‘b‘][‘a‘] = 6
#测试是不是每一个都读到了
print(myDict[‘a‘][‘a‘])
print(myDict[‘a‘][‘b‘])
print(myDict[‘b‘][‘a‘])
1
3
6

原文:https://www.cnblogs.com/lonelyisland/p/14530925.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!