2012-07-23 15 views

Respuesta

24

Uso sets:

set(data1) & set(data2) 

El operador & significa "dame la intersección de estos dos conjuntos"; también, puede utilizar la .intersection método:

set(data1).intersection(data2) 
+1

bien, esto funciona perfectamente para mí. ¡Gracias! – ivanhoifung

+1

Encuentro la intersección más legible personalmente, pero como dices, hacen lo mismo. – TimothyAWiseman

+1

@ivanhoifung Si esto resolvió su problema, debe [aceptar esta respuesta haciendo clic en la marca de verificación] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) al lado de la respuesta. Recompensará a ambas partes con algunos puntos, y marque este problema como resuelto. – Levon

-2
For a in data1: 
    for b in data2: 
     if a==b: 
     print(a) 

Esa es una manera de hacerlo, no es el mejor camino a través de

4
nf = [x for x in data1 if x in data2] 
nf 

sería devolver el elemento común en ambas listas

0
>>> [ name for name in data1 if name in data2 ] 
['name3'] 
Cuestiones relacionadas