2024-04-19 21:04:43 发布
网友
我有一本二维字典代表人。下面是一个例子:
>>> people = {'pk1':{'firstname':'Brian', 'age':42}, 'pk2':{'firstname':'Alex', 'age':50}}
可以看到,每个条目中都有一个主键。然后,每个人都指向一本词典,其中包含有关某个人的信息。我如何搜索整个“人物”词典以返回所有年龄在42岁的人?在
如果您想使用一个更通用的函数来执行各种搜索,您可以使用类似于:
def findPeople(people, filter): ret = {} for k, v in people.items(): if filter(v): ret[k] = v return ret
那么对于年龄==42,你可以这样称呼它:
使用list comprehension。在
>>> [p for p in people if people[p]['age'] == 42] ['pk1']
如果需要主键:
>>> [{id: value} for id, value in people.iteritems() if value['age'] == 42] [{'pk1': {'age': 42, 'firstname': 'Brian'}}]
如果你没有:
如果您想使用一个更通用的函数来执行各种搜索,您可以使用类似于:
那么对于年龄==42,你可以这样称呼它:
^{pr2}$使用list comprehension。在
如果需要主键:
如果你没有:
^{pr2}$相关问题 更多 >
编程相关推荐