a = [1, 2, 9, 5, 1]
b = [9, 8, 7, 6, 5]
Quiero contar el número de duplicados entre las dos listas. Entonces, usando lo anterior, quiero devolver un recuento de 2 porque 9 y 5 son comunes a ambas listas.Contar duplicados entre 2 listas
Intenté algo como esto pero no funcionó del todo.
def filter_(x, y):
count = 0
for num in y:
if num in x:
count += 1
return count
Observe que una vez que funciona (dedent el 'return' dos veces), tiene' O (n * m) 'complexit, es decir, escala bastante horriblemente. – delnan
@delnan gracias por la propina. así que usar escalas de intersección mejor. – super9
Sí. En realidad puede hacerlo aún mejor, pero eso requiere más de una línea de código (la idea es que solo necesita un conjunto de la primera lista, luego iterar sobre el segundo y conservar los elementos que están en el conjunto; guarda la creación de un segundo conjunto). – delnan