我有一个元组列表,每个元组包含2个元素:
- 第1个元素是一个包含一些数字的元组,例如(1, 4, 2)。事实上这是一条路径,其中的数字是节点的ID。
- 第2个元素是一个数字,表示该路径的得分。
例如,列表可能为:
pathList = [
((1, 2), 4),
((1, 4, 2), 2),
((1, 2), 6),
((1, 2), 3),
((1, 4, 2), 3)
]
现在我想要移除具有相同路径(第一个元素)的元组,同时保留其中得分最高的元组(第二个元素)。
例如,在此过程之后,
pathList
应该是这样的:pathList = [
((1, 2), 6),
((1, 4, 2), 3)
]
顺序不重要。
有没有一种高效的方法来完成它?
list.append
比set.add()
花费更多的时间。 - Mazdak