Foros Python

Versión completa: Obtener elementos repetidos de una lista
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Busque un ejercicio para hacer y me falta en el condicional como comparar los numeros si son iguales que imprima eso si no que no hay duplicados

Código:
lista = []

longitud = int(input("Longitud de la lista: "))



for i in range(0,longitud):
    elemento = int(input("Ingrese un elemento: "))
    agregado = lista.append(elemento)
if elemento == elemento:
          
    print("El duplicado es",elemento)
            
else: 
    print("No hay duplicados.") 
        
print(lista) [color=#d4d4d4][font=Consolas, 'Courier New', monospace][color=#d4d4d4] [/color][/font][/color]
Hola, bienvenido.

Te dejo este recurso sobre cómo remover elementos repetidos en una lista: https://micro.recursospython.com/recurso...lista.html. Luego podrías comparar las dos listas a ver cuáles son los elementos duplicados.

Saludos
(11-10-2021, 03:38 PM)Francisco escribió: [ -> ]Hola, bienvenido.

Te dejo este recurso sobre cómo remover elementos repetidos en una lista: https://micro.recursospython.com/recurso...lista.html. Luego podrías comparar las dos listas a ver cuáles son los elementos duplicados.

Saludos

Muchas gracias Francisco!! saludos
ahi encontre unba forma de hacerlo investigando un poco con el modulo collections
no se si hay una manera mas facil Gracias Francisco!

Código:
import collections
lista = []

longitud = int(input("Longitud de la lista: "))



for i in range(0,longitud):
    elemento = int(input("Ingrese un elemento: "))
    lista.append(elemento)
duplicados = list(set(lista))


cont1 = collections.Counter(lista)
cont2 = collections.Counter(duplicados)
resultado = cont1 - cont2
if collections.Counter() != resultado:
    print(resultado)
    for i in resultado.keys():
        print("El duplicado o duplicaodos:",i)
else:
    print("No tiene duplicados")
Hola. Usando collections.Counter() se podría hacer más fácil así:

  1. import collections
  2.  
  3. lista = ["A", "B", "C", "D", "B", "A"]
  4. print("Los elementos repetidos son:")
  5. for elemento, numero in collections.Counter(lista).items():
  6. if numero > 1:
  7. print(elemento)


Saludos
Muchas gracias Francisco gracias por contestar! Saludos