У меня есть словарь Python, ключи которого - строки, а значения - объекты.
Например, объект с одной строкой и одним целым
class DictItem:
def __init__(self, field1, field2):
self.field1 = str(field1)
self.field2 = int(field2)
и словарь:
myDict = dict()
myDict["sampleKey1"] = DictItem("test1", 1)
myDict["sampleKey2"] = DictItem("test2", 2)
myDict["sampleKey3"] = DictItem("test3", 3)
Какой самый лучший / самый эффективный способ получить словарные записи, которые имеют поле "field2"> = 2?
Идея заключается в создании «под-словаря» (список тоже подойдет) только с записями, в которых field2> = 2 (в примере будет так):
{
"sampleKey2": {
"field1" : "test2",
"field2": 2
},
"sampleKey3": {
"field1" : "test3",
"field2": 3
}
}
Есть ли лучший способ, чем пройтись по всем элементам словаря и проверить состояние? Может быть, с помощью itemgetters и лямбда-функций?
Спасибо!
P.S .: Я использую Python2.4, на всякий случай, если это актуально