Python - listas (comparar entre dos listas)

 
Vista:
sin imagen de perfil
Val: 16
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

listas (comparar entre dos listas)

Publicado por diego (10 intervenciones) el 21/12/2016 19:39:23
Hola de nuevo sigo con esto de python, tengo una duda cómo hacer para comparar dos listas y que me diga si al menos hay un elemento coincidente?

1
2
3
4
5
6
lista1=["paco","pepe","luis"]
lista2=["diego","mari","luis"]
if lista1==lista2:
         print("son iguales")
else :
         print("son distintas")

Con esto consigo que me diga si son exactamente iguales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 1.145
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

listas (comparar entre dos listas)

Publicado por kip (257 intervenciones) el 21/12/2016 22:02:02
Hola, debes recorrer alguna de las listas y verificar si cada elemento de esta existe en la otra lista, algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
lista1=["paco","pepe","luis"]
lista2=["diego","mari","luis"]
comparacion = []
 
for item in lista1:
  if item in lista2:
    comparacion.append(item)
 
if len(comparacion) > 0:
  print 'Ambas listas contienen estos elementos'
  for item in comparacion: print '%s' % item
else:
  print 'No existe ningun elemento igual en las listas'

De una forma mas rapida:

1
2
3
4
5
6
7
8
lista1=["paco","pepe","luis"]
lista2=["diego","mari","luis"]
comparacion = [item for item in lista1 if item in lista2]
if len(comparacion) > 0:
  print 'Ambas listas contienen estos elementos '
  for item in comparacion: print '%s' % item
else:
  print 'No existe ningun elemento igual en las listas'

Puedes probar de esta forma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2
Ha disminuido su posición en 38 puestos en Python (en relación al último mes)
Gráfica de Python

listas (comparar entre dos listas)

Publicado por FRANCISCO (1 intervención) el 22/12/2016 03:16:43
utiliza un for y ve comparando cada posicion de la lista con la otra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.464
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

listas (comparar entre dos listas)

Publicado por tincopasan (438 intervenciones) el 22/12/2016 16:11:28
¿para qué tanto código? usas set(conjuntos) y mostrás las igualdades
1
2
3
4
5
6
7
8
9
lista1=set(["paco","pepe","luis"])
lista2=set(["diego","mari","luis"])
 
final= lista1 & lista2
if len(final) > 0 :
    print("hay {} elementos coincidentes".format(len(final)))
    print(final)
else:
    print("no hay repeticiones")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 16
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

listas (comparar entre dos listas)

Publicado por diego (10 intervenciones) el 22/12/2016 16:27:05
guau, ni sabia que existía set,
gracias a todos por responder muy amables
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

listas (comparar entre dos listas)

Publicado por paolo (2 intervenciones) el 02/02/2020 03:31:14
utilizar conjuntos en python es excelente, pero solo sirve para listas cuyos datos no se repiten.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

listas (comparar entre dos listas)

Publicado por Marc (1 intervención) el 31/10/2019 16:55:46
Hola!

He estado intentando aplicar lo que habéis dicho todos a mi problema.
Lo que a mi me sucede es que necesito comparar los elementos de una lista con el contenido de una columna. Si existe coincidencia, quiero que la columna se rellene con EL NOMBRE DE LA LISTA.

deporte=["futbolista","waterpolista","patinador"]
meditacion=["Yoga","TaiChi"]

Luego tengo una columna que tiene mucha información (informacion). Yo quiero buscar en esa columna, en cada celda, si aparecen las palabras de alguna de las 2 listas. Si hay coincicendia, quiero que en una tercera columna [AFICIÓN] aparezca "deporte" o "meditacion". Si no hay coincidencia, NaN.

Me quedo bloqueado al principio. Esto es lo que he intentado sin éxito.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
deporte=["futbolista","waterpolista","patinador"]
meditacion=["Yoga","TaiChi"]
 
descript_split=df["informacion"].str.split()
comparacion=[]
 
for item in lista_periodista:
    if item in descript_split:
        comparacion.append(item)
if len(comparacion)>0:
    print("Coincidencia")
    for item in comparacion: print("%") % item
else:
    print ("NO")

Y ni así, en esta primera parte, lo consigo.

¿Alguna idea?

Muchas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar