Sto tentando di modificare questa definizione che elenca gli elementi duplicati in modo che elenchi indici di valori duplicati. Inoltre, vorrei che elencasse TUTTI i duplicati, il che significa che risultante per a = [1,2,3,2,1,5,6,5,5,5] sarebbe duplicato_index = [3,4,7 , 8,9] Ecco la definizione:Elenca indici di valori duplicati in un elenco con Python
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]
Si utilizza un set per '' 'seen''' per fare il test di appartenenza veloce? – wwii
@wwii Sì. Sei corretto – thefourtheye