根据位置对多个列表中的项目进行排名

时间:2015-12-03 08:06:14

标签: ruby list sorting

我有多个列表,其中包含可能出现在一个或多个列表中的元素。我需要将列表排序成一个显示整体排名的列表 例如:

  List 1 |  List 2  |   List 3
1. Book  | 1. Car   | 1. Glass
2. Car   | 2. Bike  | 2. Car
3. Bike  | 3. Apple | 3. Apple

因此,Car显然会排在第一位。但是我应该在列表中对这些项目进行排名呢?

我已经看到了一些C代码,我认为这些代码显示了它是如何完成的,但我不明白。我可以使用Ruby或者甚至Python来解决这个问题,但算法是我难以找到的。即使是Excel公式也可以。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

步骤1:遍历excel中的单词列表。  将单词存储为字典键。

如果找到字典键,则将排名编号添加到该值。如果找不到字典键,则为其创建一个键并添加排名编号..

Eg.,.  

if word in dict.keys():
   dict[word] += rank_number
else:
   dict[word] = rank_number

步骤2:根据值(从低值到高值)对字典进行排序。