По сути, я пытаюсь удалить все списки, которые начинаются с того же значения. Например, два из приведенных ниже начинаются с цифры 1:
a = [[1,2],[1,0],[2,4],[3,5]]
Поскольку значение 1 существует в начале двух списков - мне нужно удалить оба, чтобы новый список стал:
b = [[2,4],[3,5]]
Как я могу это сделать?
Я пробовал ниже, но вывод: [[1, 2], [2, 4], [3, 5]]
def unique_by_first_n(n, coll):
seen = set()
for item in coll:
compare = tuple(item[:n])
print compare # Keep only the first `n` elements in the set
if compare not in seen:
seen.add(compare)
yield item
a = [[1,2],[1,0],[2,4],[3,5]]
filtered_list = list(unique_by_first_n(1, a))