假设有一个对象集合objs,其中每个对象都有scorerank字段,需要按照score字段的大小给rank字段添加排名,排名从1开始。

可以使用以下代码实现:

# 按照score字段对objs集合进行排序
sorted_objs = sorted(objs, key=lambda obj: obj.score, reverse=True)

# 给rank字段添加排名
for i, obj in enumerate(sorted_objs):
    obj.rank = i + 1

首先使用sorted函数对objs集合进行排序,key参数指定按照score字段排序,reverse参数指定按照降序排列。

然后使用enumerate函数遍历排序后的集合,对每个对象的rank字段赋值为当前排名。由于排名从1开始,需要在索引值上加上1。

将对象集合中按某字段大小给另一字段添加排名

原文地址: http://www.cveoy.top/t/topic/huma 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录