优先级范围可以从1到99。
尝试以下操作:
def reassignedPriorities(priorities):
ordered_raw_priorities = sorted(set(priorities))
priority_dict = {ordered_raw_priorities[i]: i + 1 for i in range(len(ordered_raw_priorities))}
return [priority_dict[e] for e in priorities]
使用enumerate
,代码甚至可以简化:
def reassignedPriorities(priorities):
ordered_raw_priorities = sorted(set(priorities))
priority_dict = {
e: i for i, e in enumerate(ordered_raw_priorities, start=1)
}
return [priority_dict[e] for e in priorities]
如果你打电话给
reassignedPriorities([1,3,7,3])
输出将是
[1, 2, 3, 2]