Próbuję zmodyfikować tę definicję, która wymienia zduplikowane elementy, tak aby wyświetlała indeksy duplikatów. Chciałbym też, aby lista wszystkich duplikatów oznaczała, że wypadkowa dla a = [1,2,3,2,1,5,6,5,5,5] będzie duplicate_indexes = [3,4,7 , 8,9] Oto definicja:Wyświetlenie listy duplikatów wartości na liście za pomocą Pythona
def list_duplicates(seq):
seen = set()
seen_add = seen.add
# adds all elements it doesn't know yet to seen and all other to seen_twice
seen_twice = set(x for x in seq if x in seen or seen_add(x))
# turn the set into a list (as requested)
return list(seen_twice)
a = [1,2,3,2,1,5,6,5,5,5]
list_duplicates(a) # yields [1, 2, 5]
Używasz zestawu do '' 'seen''' zrobić test członkostwa szybki? – wwii
@wwii Tak. Masz rację: – thefourtheye