[Python-de] Listen vergleichen

Stefan Behnel behnel_ml at gkec.informatik.tu-darmstadt.de
Die Jun 27 12:28:45 CEST 2006


Hallo,

Stefan Schwarzer schrieb:
> On 2006-06-27 11:35, Julian Rath wrote:
>> habe hier 2 Listen und möchte vergleichen ob ein element der einen in
>> der anderen vorhanden ist. wie das mit einer schleife löse wes ich.
> 
> def have_common_elements(list1, list2):
>     return bool(set(list1) & set(list2))
> 
> Wenn du eine (unsortierte) Liste der gemeinsamen Elemente
> haben willst:
> 
> def common_elements(list1, list2):
>     return list(set(list1) & set(list2))

Wobei vielleicht erwähnt werden sollte, dass diese Varianten a) in C ablaufen
und b) nicht quadratisch - O(N*M) - sind wie verschachtelte Schleifen, sondern
O(N+M), da intern Hashing verwendet wird. Sollten also sehr effizient sein.

Stefan