In Python finden Sie die Anzahl der gleichen Elemente in 2 Listen
-
21-09-2019 - |
Frage
In Python, wenn ich 2 Listen habe, sagen:
l1 = ['a', 'b', 'c', 'd']
l2 = ['c', 'd', 'e']
Gibt es eine Möglichkeit, herauszufinden, wie viele Elemente sie haben? Im Fall wäre es 2 (C und D)
Ich weiß
Vielen Dank
Lösung
Sie können dafür eine festgelegte Kreuzung verwenden :)
l1 = ['a', 'b', 'c', 'd']
l2 = ['c', 'd', 'e']
set(l1).intersection(l2)
set(['c', 'd'])
Andere Tipps
>>> l1 = ['a', 'b', 'c', 'd']
>>> l2 = ['c', 'd', 'e']
>>> set(l1) & set(l2)
set(['c', 'd'])
Wenn Sie nur eindeutige Elemente haben, können Sie den festgelegten Datentyp verwenden und die Kreuzung verwenden:
s1, s2 = set(l1), set(l2)
num = len(s1.intersection(s2))
Verwenden von Sets:
l1 = ['a', 'b', 'c', 'd']
l2 = ['c', 'd', 'e']
def list_count_common(list_a, list_b):
result = len(list(set(list_a) & set(list_b))) ## this is the line that does what you want
return result
print list_count_common(l1, l2) ## prints 2
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow