我有一个很大的列表列表,需要根据特定条件删除重复的元素:
唯一性由列表的第一个元素决定.
通过比较重复列表的第二个元素的值来确定删除重复项,即保持列表具有最低的第二个元素.
[[1, 4, 5], [1, 3, 4], [1, 2, 3]]
以上所有列表都被认为是重复的,因为它们的第一个元素是相同的.需要保留第三个列表,因为它的第二个元素是最小的.请注意,实际的列表列表有超过400万个元素,是双重排序的,需要保留排序.
该列表首先根据内部列表的第二个元素以反向(降序)顺序排序,然后是基于第一个元素的正常(升序)顺序:
sorted(sorted(the_list, key=itemgetter(1), reverse=True), key=itemgetter(0))
实际排序中三个重复列表的示例:
[... [33554432, 50331647, 1695008306], [33554432, 34603007, 1904606324], [33554432, 33554687, 2208089473], ...]
目标是准备二等分搜索列表.有人能让我了解如何使用Python实现这一目标吗?