【发布时间】:2016-10-26 09:43:23
【问题描述】:
我有一个 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 和 lambda 函数?
谢谢!
P.S.:我使用的是 Python2.4,以防万一
【问题讨论】:
-
谢谢大家!!这是非常有用的信息:)
标签: python dictionary