我有一个python字典,其键是字符串,值是对象.
例如,一个带有一个字符串和一个int的对象
class DictItem:
def __init__(self, field1, field2):
self.field1 = str(field1)
self.field2 = int(field2)
Run Code Online (Sandbox Code Playgroud)
和字典:
myDict = dict()
myDict["sampleKey1"] = DictItem("test1", 1)
myDict["sampleKey2"] = DictItem("test2", 2)
myDict["sampleKey3"] = DictItem("test3", 3)
Run Code Online (Sandbox Code Playgroud)
哪个是获得"field2"字段> = 2的字典条目的最佳/最有效方法?
这个想法是创建一个"子词典"(列表也会这样),只有field2> = 2的条目(在例子中会是这样):
{
"sampleKey2": {
"field1" : "test2",
"field2": 2
},
"sampleKey3": {
"field1" : "test3",
"field2": 3
}
}
Run Code Online (Sandbox Code Playgroud)
有没有比走遍所有字典元素并检查条件更好的方法?也许使用itemgetters和lambda函数?
谢谢!
PS:我正在使用Python2.4,以防万一它是相关的
为了使dict您dict,
subdict = dict((k, v) for k, v in myDict.iteritems() if v.field2 >= 2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24929 次 |
| 最近记录: |