Code: Alles auswählen
>>> predicates = lambda x:x<20, lambda x:x>20
>>> print [filter(pred, [25, 8, 22, 9]) for pred in predicates]
[[8, 9], [25, 22]]
Code: Alles auswählen
>>> predicates = lambda x:x<20, lambda x:x>20
>>> print [filter(pred, [25, 8, 22, 9]) for pred in predicates]
[[8, 9], [25, 22]]
Code: Alles auswählen
In [1]: def less_than_20(x):
...: return x < 20
...: def greater_than_20(x):
...: return x > 20
...:
In [2]: print [filter(pred, [25, 8, 22, 9]) for pred in [less_than_20, greater_than_20]]
[[8, 9], [25, 22]]
Code: Alles auswählen
In [3]: predicates = [less_than_20, greater_than_20]
In [4]: res = []
In [5]: for p in predicates:
...: valids = []
...: for x in [25, 8, 22, 9]:
...: if p(x):
...: valids.append(x)
...: res.append(valids)
...:
In [6]: res
Out[7]: [[8, 9], [25, 22]]
Nein tust du nicht. Jetzt sehe ich es auch. Ich hatte die ganze Zeit geistig ein im Code nicht vorhandenes if im Kopf. Es ist gestern (bzw. heute morgen) zu spät geworden ...cofi hat geschrieben:Oder versteh ich dich hier falsch?