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

时间:2018-12-14 03:26:19

标签: python list function

我正在使用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_iditem_id对将只有一个等级。缺少一些值,但这是我感到一个单独的问题。

1 个答案:

答案 0 :(得分:5)

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

d = {(user_id, item_id): rating for user_id, item_id, rating in train_data}

print(d[0, 0])  # 5

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