2017-09-02 2 views
0

Ich habe zwei Arrays, und ich will die Kreuzung von ihnen einschließlich doppelte Elemente:Überschneidung mit nicht Unikaten in Python

a = [0, 0, 1, 4, 5] 
b = [0, 4, 6] 


set(a) & set(b) 
>>> [0, 4] #Result 

Wenn ich dies das Ergebnis nicht Duplikate Elemente

umfassen würde Ich mag an zurück:

>>> [0, 0, 4] 

Ideen?

+1

Aber '0' tritt nicht zweimal in' b'? Außerdem kommt '4' nicht zweimal vor, da es sowohl in' a' als auch in 'b' ist. –

+1

Was ist die erwartete Ausgabe, wenn 'a = [0, 0]' und 'b = [0, 0]'? –

Antwort

1

nur a hat Duplikate Angenommen, Sie verwenden können:

[i for i in a if i in b] 
1

Set Betrieb arbeitet für einzigartige Elemente nur in Python. Vielleicht möchten Sie Listenverstehen dafür verwenden

Result = [element for element in a if element in b] 
Verwandte Themen