Найти - Пользователи
Полная версия: Дубликат записи в списке
Начало » Python для новичков » Дубликат записи в списке
1
paraman
Уважаемы коллеги, подскажите как можно убрать дубликаты и оставить лишь одно первое значение.
Есть список
[("26'", '1 - 0'), ("50'", '2 - 0'), ("62'", '3 - 0'), ("64'", '4 - 0'), ("98'", '4 - 0'), ("190'", '5 - 0')]

Каким способом можно убрать (“64'”, ‘4 - 0’), (“98'”, ‘4 - 0’) и оставить первое значение (“64'”, ‘4 - 0’)?
Спасибо, что потратили на мой новичковый вопрос своё ценное время.
bismigalis
from itertools import groupby
from operator import itemgetter
lst=[("26'", '1 - 0'), ("50'", '2 - 0'), ("62'", '3 - 0'), ("64'", '4 - 0'), ("98'", '4 - 0'), ("190'", '5 - 0')]
lst = [next(x[1]) for x in groupby(lst, key=itemgetter(1))]
paraman

bismigalis
Спасибо
py.user.next
bismigalis
groupby(lst, key=itemgetter(1))
lst должен быть предварительно отсортирован
bismigalis
py.user.next верно, незнал

from itertools import groupby
from operator import itemgetter
lst=[("26'", '1 - 0'), ("50'", '2 - 0'), ("62'", '3 - 0'), ("64'", '4 - 0'), ("98'", '4 - 0'), ("190'", '5 - 0')]
lst.sort(key=itemgetter(1))
lst = [next(x[1]) for x in groupby(lst, key=itemgetter(1))]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB