列出的包含部分查询的字典上的搜索键

我想在列表中输出所有字典项,这些列表项对其中一个键包含部分查询。

考虑到this question,我希望从以下列表中实现类似的目的:

people = [
{"name": "Pamela","age": 9}
{"name": "Tom","age": 10},{"name": "Mark","age": 5},{"name": "Pam","age": 7}
]

搜索"Pam",我想获得这两个条目:

{"name": "Pamela","age": 9},"age": 7}

由于我想根据用户偏好在字典中搜索不同的键,因此我认为这是在上述线程中找到的最佳解决方案:

def search(db,key,value):
    for item in db:
        if value in item[key]: # This is the line i'm having trouble with
            return item

但是,命令print(search(people,'name','Pam'))仅输出 {"name": "Pam","age": 7}

weizhaoxia96 回答:列出的包含部分查询的字典上的搜索键

对不起,我想我找到了解决方案。该函数确实获得了两个结果,但是return item仅返回了for循环所查看的最后一项,并且,正如预期的那样,print语句仅显示了该结果。如果有人遇到相同的问题,这是我正在使用的代码:

def search(db,key,value):
    result = []
    for item in db:
        if value in item[key]:
            result.append(item)

只需实例化一个空列表,然后将通过的项目添加到该列表中即可。我现在同时感到有点傻和自豪。

本文链接:https://www.f2er.com/3143207.html

大家都在问