Python: Holen Sie sich die Werte (Objekte) aus einem Wörterbuch von Objekten, in denen man von dem Objekt, das Feld entspricht einem Wert (oder Bedingung)

Habe ich ein python-dictionary, dessen Schlüssel sind strings, und die Werte sind Objekte.

Beispielsweise ein Objekt mit einem string und einem int

class DictItem:
   def __init__(self, field1, field2):
      self.field1 = str(field1)
      self.field2 = int(field2)

und das Wörterbuch:

myDict = dict()
myDict["sampleKey1"] = DictItem("test1", 1)
myDict["sampleKey2"] = DictItem("test2", 2)
myDict["sampleKey3"] = DictItem("test3", 3)

Welche ist die beste/effizienteste Weg, um die Wörterbuch-Einträge, die "Feld2" Feld >= 2?

Die Idee ist die Schaffung eines "sub-Lexikon" (eine Liste würde es auch tun) nur die Einträge, in denen Feld2 >= 2 (in dem Beispiel wäre wie):

{
    "sampleKey2": {
        "field1" : "test2",
        "field2": 2 
    },
    "sampleKey3": {
        "field1" : "test3",
        "field2": 3 
    }
}

Gibt es einen besseren Weg, als zu Fuß durch alle dictionary-Elemente, und überprüfen Sie den Zustand? Vielleicht mit itemgetters und lambda-Funktionen?

Danke!

P. S.: ich bin mit Python2.4, nur im Fall, dass es relevant ist,

Vielen Dank Euch allen!! Es war sehr nützliche Informationen 🙂

InformationsquelleAutor BorrajaX | 2010-03-08

Schreibe einen Kommentar