Einführung
In Python ist es oft erforderlich, zu überprüfen, ob eine Liste in einer anderen Liste enthalten ist. Dies kann etwas tricky sein, insbesondere wenn die Reihenfolge der Elemente in den Listen keine Rolle spielt. In dieser Herausforderung werden Sie eine Funktion schreiben, die überprüft, ob die Elemente einer Liste in einer anderen Liste enthalten sind, unabhängig von der Reihenfolge.
Liste enthalten
Schreiben Sie eine Funktion is_contained_in(a, b), die zwei Listen als Argumente nimmt und True zurückgibt, wenn alle Elemente der Liste a in der Liste b enthalten sind, unabhängig von der Reihenfolge. Andernfalls sollte die Funktion False zurückgeben.
Um dieses Problem zu lösen, können Sie den folgenden Ansatz verwenden:
- Iterieren Sie über jedes einzigartige Element in der Liste
a. - Für jedes Element überprüfen Sie, ob es in der Liste
aöfter vorkommt als in der Listeb. - Wenn ein Element in der Liste
aöfter vorkommt als in der Listeb, geben SieFalsezurück. - Wenn alle Elemente in der Liste
ain der Listebmindestens so oft vorkommen wie in der Listea, geben SieTruezurück.
def is_contained_in(a, b):
for v in set(a):
if a.count(v) > b.count(v):
return False
return True
is_contained_in([1, 4], [2, 4, 1]) ## True
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie überprüfen können, ob eine Liste in einer anderen Liste enthalten ist, unabhängig von der Reihenfolge. Sie haben eine Funktion geschrieben, die zwei Listen als Argumente nimmt und True zurückgibt, wenn alle Elemente der Liste a in der Liste b enthalten sind, unabhängig von der Reihenfolge.