ich habe eine Liste von Dictionaries mit verschiedenen Eigenschaften und möchte einen Teil davon über boolsche Statements (in Werten von diesen Eigenschaften) auswählen können. Das Ergebnis der Suche ist aber nicht eine Liste mit allen Dictionaries, die mein Suchstatement erfüllen, sondern nur das Erste, das True zurückgibt. (in etwas wie EineListe.remove(einWert) nur das erste Auftreten von einWert löschen und mögliche zweite drin lassen).
konkret:
Code: Alles auswählen
dictions = [
{"state": "on", "size":5, "colour":"blue", "connections":12},
{"state": "on", "size":4, "colour":"blue", "connections":7},
{"state": "on", "size":1, "colour":"green", "connections":11},
{"state": "off", "size":5, "colour":"red", "connections":3},
{"state": "off", "size":1, "colour":"green", "connections":9}]
dictions["state"=="on" and "connections"<=11]
>>> {'connections': 12, 'state': 'on', 'colour': 'blue', 'size': 5}
Gibts da eine Möglichkeit das zu ändern? Ich kann natürlich eine eigene Function Select(liste, statement) schreiben, aber vielleicht gibts eine trickreichere Variante.
Grüße
4bit-
ps. merke grade, daß ich jetzt zur Fahrstunde muss, werde also wahrscheinlich erst morgen lesen und antworten können