python - 查找键值来自的字典

标签 python

假设我们有一个字典列表,范围有数千个。每个字典都有完全相同的键,但值不同。

有什么方法可以查找键值来自哪个字典,然后从同一个字典访问不同的键值?

例如,假设您有一个包含大城市中每个人的列表,字典格式,如下所示:

people_in_city = [

        {'name': 'Bob Jang',
        'age': 45,
        'sex': 'male'},
        {'name': 'Barb Esau',
        'age': 56,
        'sex': 'female'},
        etc.
        etc.

现在,您想查询 Bob Jang 的年龄,但您只有他的名字。反正有没有用这种格式得到他对应的年龄?

最佳答案

在 Python 中没有快速的方法可以做到这一点。我建议像这样:

def get_dict_from_key(list_of_dicts, key, value):
    return next((d for d in list_of_dicts if d[key] == value))

result_d = get_dict_from_key(dicts, 'name', 'Bob Jang')
result_d['age']

也就是说,这就是关系数据库制作的目的!学习 SQL 并使用它:)

关于python - 查找键值来自的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29384719/

相关文章:

python - 如何在 GAE for Python 上获取 Model() 中条目的 key_name?

python - Pycharm 终端在使用 VirtualEnv 的 Windows 10 上无法正常工作

python - Django中null=True和blank=True有什么区别?

python - Pandas ,查找并删除行

python - python自动设置getter、setter和deleter

python - QTextEdit 上的滚动条样式(使用自定义图像)

python - 使用填充格式化字符串

python - 为什么列表中的第一个图没有绘制,但最后却有一个空图?

python - 如何将两个列表合并为 python 中的一系列列?

python - 使用 Jinja2 (Flask) 模板引擎参数化可重用 block