You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将比赛积分列表转换为对应选手索引的排名序列

Python 按积分降序生成选手索引排名的简便实现

可以直接用Python内置的sorted()函数实现,不需要手动写循环查找最大值,代码简洁高效。

示例代码

points = [0, 12, 9]
# 写法1:用负数key实现降序
rank_list = sorted(range(len(points)), key=lambda idx: -points[idx])
print(rank_list) # 输出 [1, 2, 0]

可选写法(可读性更强)

如果觉得用负数不容易理解,可以搭配sorted的reverse参数实现降序:

rank_list = sorted(range(len(points)), key=lambda idx: points[idx], reverse=True)

实现逻辑说明

  • 首先用range(len(points))生成所有选手的原始索引序列,示例中为[0, 1, 2]
  • key参数指定排序的依据为每个索引对应的积分值
  • reverse=True指定排序规则为降序,也就是积分高的排在前面
  • 若存在积分相同的选手,该写法默认按原始索引升序排列,符合常规比赛的同分排名规则。

内容的提问来源于stack exchange,提问作者Mariokaizou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:24:05