当前位置: 首页 > 面试题库 >

Python-按字典中的值获取密钥

古文康
2023-03-14
问题内容

我制作了一个函数,该函数将查询年龄Dictionary并显示匹配的名称:

dictionary = {'george' : 16, 'amber' : 19}
search_age = raw_input("Provide age")
for age in dictionary.values():
    if age == search_age:
        name = dictionary[age]
        print name

我知道如何比较和查找年龄,但我不知道如何显示此人的名字。另外,KeyError由于第5行,我得到了提示。我知道这是不正确的,但我不知道如何使它向后搜索。


问题答案:

没有。dict不打算以此方式使用。

for name, age in dictionary.items():    # for name, age in dictionary.iteritems():  (for Python 2.x)
    if age == search_age:
        print(name)


 类似资料:
  • 问题内容: 我有这样的字典列表: 我想要 最好的方法是什么? 问题答案: 假设每个字典都有一个键,你可以编写(假设你的列表名为l) 如果value可能丢失,可以使用

  • 问题内容: 我有一个:键是字符串,值是整数。 例: 我想作为一个答案,因为它是具有更高价值的关键。 我使用带有反向键值元组的中间列表进行了以下操作: 那是一种更好(或更优雅)的方法吗? 问题答案: 您可以使用: 而不是在内存使用中构建新列表。该函数的参数是一个计算键的函数,该键用于确定如何对项目进行排名。 请注意,如果要使用另一个键值对,则此方法将仅返回两个值中的一个,即使它们都具有最大值。 如果

  • 问题内容: 我发现有很多线程可以按这里的值进行排序,但是它似乎对我不起作用… 我有一个包含元组的列表字典。每个列表都有不同数量的元组。我想按每个列表包含多少个元组对字典进行排序。 这可能吗? 问题答案: d = {“one”: [(1,3),(1,4)], “two”: [(1,2),(1,2),(1,3)], “three”: [(1,1)]} >>> for k in sorted(d, ke

  • 问题内容: 这可能是一个愚蠢的问题,但是考虑到以下指示: 我将如何获得此列表: 换句话说,我希望字典中两个键/值对的所有组合都不能替换,而与顺序无关。 问题答案: 一种解决方案是使用: 编辑 :由于受欢迎的需求,这里是Python 3.x版本:

  • 问题内容: 我有一个从数据库中的两个字段读取的值字典:字符串字段和数字字段。字符串字段是唯一的,因此这是字典的键。 我可以对键进行排序,但是如何根据值进行排序? 问题答案: Python 3.7+或CPython 3.6 字典在Python 3.7+中保留插入顺序。在CPython 3.6中相同,但是它是一个实现细节。 要么 较旧的Python 无法对字典进行排序,只能获得已排序字典的表示形式。字

  • 问题内容: 抱歉,这个问题已经存在,但是我已经搜索了很长时间。 我在python中有一个字典,我想从列表中获取一些值,但是我不知道实现是否支持它。 但是有什么办法可以实现呢?在我的示例中,这看起来很简单,但是假设我有20个条目的字典,并且我想获得5个键。除了做别的办法 问题答案: 使用循环: 或列表理解: