【发布时间】:2017-07-21 00:36:51
【问题描述】:
我有一个包含整数的列表并想要替换它们,以便以前包含最高数字的元素现在包含 1,第二大数字设置为 2,等等。
示例:
[5, 6, 34, 1, 9, 3] 应该产生 [4, 3, 1, 6, 2, 5]。
我个人只关心前 9 个最高的数字,因为我认为可能有一个简单的算法甚至可能是一个 python 函数来处理这个任务?
编辑:我不在乎如何处理重复。
【问题讨论】:
-
能否提供您尝试的代码的sn-p。
-
如果两个数相同怎么办?
-
tmp = sorted(input); output = [0] * len(input); for i in range(min(len(tmp), 9)): output[input.index(tmp[i])] = i是我想到的,但我还没有测试过。这也不好处理重复。
标签: python arrays algorithm list sorting