在信息检索或top-n推荐中,我们会为用户推荐一个有序产品列表,这里的“有序”体现在列表中前面的产品相比于列表后面的产品被算法预测为更容易被用户选择,这要求我们按每个产品出现的概率对产品进行排序。可以参考以下示例:
# 按列表a中元素的值进行排序,并返回元素对应索引序列
a = [1, 3, 4, 5, 2, 7, 9]
print('a:', a)
sorted_id = sorted(range(len(a)), key=lambda k: a[k], reverse=True)
print('元素索引序列:', sorted_id)
结果为:
a: [1, 3, 4, 5, 2, 7, 9]
元素索引序列: [6, 5, 3, 2, 1, 4, 0]
可以看到这里用到了sorted函数,改函数可以指定键对可迭代对象进行排序,功能比较强大。关于该函数的具体使用方法可以参考: