代码之家  ›  专栏  ›  技术社区  ›  Sean

Python列表返回与前两个值关联的第三个值

  •  0
  • Sean  · 技术社区  · 7 年前

    我正在使用Python为推荐系统编写一个程序。我试图实现一个函数,它获取列表的前两个元素,并返回与前两个元素关联的第三个元素。让我详细说明一下。

    我拥有的数据如下:

    train_data = [ [0, 0, 5],
                   [0, 1, 4],
                   [0, 2, 2],
                 ...
                   [900, 900, 2] ]
    

    基本上,它是一个列表列表,每个元素由 [user_id, item_id, rating] .

    例如: return_third(0, 0) = 5



    编辑

    我特别想做的是创建一个函数来计算我们对用户的预测之间的损失 i 及项目 j

    用户总数是900,项目总数是1000,所以我创建的数据矩阵是 900 x 1000 针对每个用户及其相应的评级。

    我想从预测和实际评级中计算损失 train_data .

    user_id 和 item_id 一对有些值缺失,但我觉得这是另一个问题。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Patrick Haugh    7 年前

    听起来您可以制作一个字典,其中键是子列表前两个元素的元组,值是第三个元素:

    d = {(user_id, item_id): rating for user_id, item_id, rating in train_data}
    
    print(d[0, 0])  # 5
    

    这将只返回您在列表中定义的值。

    推荐文章