a = [1, 2, 9, 5, 1]
b = [9, 8, 7, 6, 5]
Voglio contare il numero di duplicati tra le due liste. Quindi, utilizzando quanto sopra, voglio restituire un conteggio di 2 perché 9 e 5 sono comuni a entrambe le liste.Conta duplicati tra 2 elenchi
Ho provato qualcosa del genere ma non ha funzionato.
def filter_(x, y):
count = 0
for num in y:
if num in x:
count += 1
return count
Si noti che una volta che funziona (dedurre il 'return' due volte), ha' O (n * m) 'complexit, vale a dire scale piuttosto orribili. – delnan
@delnan grazie per il suggerimento. quindi usare l'intersezione si adatta meglio. – super9
Sì. In realtà puoi fare anche meglio, ma questo richiede più di una riga di codice (l'idea è che hai solo bisogno di un set del primo elenco, quindi scorrere il secondo e mantenere gli elementi nel set - salva la creazione di un secondo impostato). – delnan