2017-05-18 3 views
-1

Ich versuche herauszufinden, ob die Werte in einer Liste in einer anderen Liste existieren. Zum Beispiel:Python - Überprüfen, ob die genaue Menge von Werten in einer Liste existiert

list1 = ['a','b'] 

list2 = ['a','b','c','d','e','a','b','c'] 

list3 = ['a','a','b','b','b','a','b','a'] 

Ich möchte überprüfen, ob die Werte in list1 existieren in list2 & list 3. Die Überprüfung sollte jedoch falsch sein, wenn ich mit list2 vergleiche, da list2 auch andere Werte außer 'a' & 'b' hat. Und der Check sollte im Vergleich zu list3 wahr sein, da er nur 'a', 'b' hat. Irgendeine Ahnung, wie ich das machen kann?

Hoffe, das ist klar.

+1

'set (list1) == Satz (list3)' – McGrady

+1

Mögliches Duplikat [Mit 'in' für einen Teil testen eine Unterliste in einer anderen in Python] (http://stackoverflow.com/questions/15144009/using-in-to-test-for-part-of-one-sublist-in-another-in-python) –

Antwort

4

Verwenden Sätze:

>>> set(list1) == set(list2) 
False 
>>> set(list1) == set(list3) 
True 
+1

9 Sekunden schneller :) – e4c5

0

Versuchen mit all,

In [11]: all(i in list1 for i in list2) 
Out[11]: False 

In [12]: all(i in list1 for i in list3) 
Out[12]: True 
Verwandte Themen