EDIT: Nach dem Lesen des vorgeschlagenen Links habe ich keine Ahnung, warum dies als ein Duplikat markiert wurde. Verklagen Sie mich.Python: Filter (keine, [Liste der Bools]) Verhalten
Kann jemand mir helfen zu verstehen, warum filter(None, [list of bools])
False
Werte entfernt?
Nehmen Sie folgendes:
low = 25
high = 35
to_match = [15, 30, 32, 99]
def check(low, high, to_match):
return [low <= i <= high for i in to_match]
check(low, high, to_match)
kehrt [False, True, True, False]
filter(None, check(low, high, to_match))
kehrt [True, True]
Also dachte ich, muss Python denken False
ist None
! Aber zu meiner Überraschung gibt False is None
False
zurück!
A) Was fehlt mir?
B) Wie kann ich nur None
Werte von [True, None, False]
filtern?
'None' ist falsy, aber die größere Frage, die ich dir stellen möchte: Was glaubst du * das' filter (None, [bools]) 'dir geben würde? – Makoto
Warum erhalten Sie 'None' Werte? Oder fragt man sich, warum es so ist? – Tim
@Makoto Ich nahm 'filter (Keine, [True, False, None])' würde zurückkehren '[True, False]' – AutomaticStatic