Ich lerne, wie man die filter
Funktion verwendet.Python: Filterobjekt wird von selbst leer
Dies ist der Code, den ich geschrieben habe:
people = [{'name': 'Mary', 'height': 160},
{'name': 'Isla', 'height': 80},
{'name': 'Sam'}]
people2 = filter(lambda x: "height" in x, people)
Wie Sie sehen können, was ich versuche alle Wörterbücher zu tun ist, zu entfernen, die die 'height'
Schlüssel nicht enthalten.
Der Code richtig, in der Tat funktioniert, wenn ich tun:
print(list(people2))
ich:
[{'name': 'Mary', 'height': 160}, {'name': 'Isla', 'height': 80}]
Das Problem ist, dass wenn ich es zweimal:
print(list(people2))
print(list(people2))
die Beim zweiten Mal bekomme ich eine leere Liste.
Können Sie mir erklären warum?
Verwandte: https://stackoverflow.com/questions/21715268/list-returned-by-map-function-disappears-after-one-use, https://stackoverflow.com/questions/40960036/cannot-use-list-more-than-once-on-a-map-object –