2012-07-23 16 views

risposta

24

Uso sets:

set(data1) & set(data2) 

L'operatore & significa "dammi l'intersezione di questi due insiemi"; in alternativa è possibile utilizzare il metodo .intersection:

set(data1).intersection(data2) 
+1

giusto, questo funziona perfettamente per me. Grazie! – ivanhoifung

+1

Trovo la .intersection più leggibile personalmente, ma come dici tu fa la stessa cosa. – TimothyAWiseman

+1

@ivanhoifung Se questo ha risolto il tuo problema dovresti [accettare questa risposta cliccando sul segno di spunta] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) accanto alla risposta. Sarà ricompensare entrambe le parti con alcuni punti e contrassegnare questo problema come risolto. – Levon

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

Questo è un modo per farlo, non il modo migliore se

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

sarebbe restituire l'oggetto comune in entrambe le liste

0
>>> [ name for name in data1 if name in data2 ] 
['name3'] 
Problemi correlati