values = {}
for t in tups:
a,b,c,d = t
if a not in values:
values[a] = (1, t)
else:
count, tup = values[a]
values[a] = (count+1, t)
unique_tups = map(lambda v: v[1],
filter(lambda k: k[0] == 1, values.values()))
Я использую словарь для хранения a
значений и кортежей, которые имеют это a
значение.Значение в этом ключе является кортежем (count, tuple)
, где count
- это количество раз, которое a
было замечено.
В конце я фильтрую словарь values
для только те a
значения, где count
равен 1, т.е. они уникальны.Затем я отображаю этот список так, чтобы он возвращал только эти кортежи, поскольку значение count
будет равно 1.
Теперь unique_tups
- это список всех этих кортежей с уникальными a
.
Обновлено после получения отзывов от комментаторов, спасибо!