如何通过提供一个值作为条件来获取字典的键

14 浏览
0 Comments

如何通过提供一个值作为条件来获取字典的键

我在网上搜索了但没有找到特定于我的查询的答案。

在Python 3的字典中,如何通过提供值(使用条件)来获取键。例如,如果我有一个包含宠物名称和它们的数量的字典:

my_dict = {'cats' : '5', 'dogs' : '4', 'fish' : '7', 'rabbits': '4'}

如何使用条件来获取所有值为4的键,比如'dogs'和'rabbits'?

我读取一个输入文件,并将一行存储在一个列表中(通过分割字符串),然后通过使用my_list[2]来访问这个数量。然后,我需要检查另一个字典中是否有任何宠物与这个数量相对应。

为了获取具有这个数量的宠物,我使用了以下方法:

for key, value in my_dict():
            if value == my_list[2]:
                print (key)

但它只给我一个键,而不是与值4相关联的所有键。

编辑:事实证明,代码的这部分工作正常,但实际问题是,在调试过程中,我已经更改了输入文件中的这个变量的值(并忘记改回来),它只与字典中的一个值匹配,因此只返回一个键。非常感谢所有回答和建议的人。

0
0 Comments

在这个例子中,问题的出现是因为需要根据提供的条件(值)来获取字典中的键。具体来说,需要遍历所有的键,并找到与所需值相匹配的键。

解决这个问题的方法是使用列表推导式。首先,我们定义了一个字典my_dict,其中包含了一些键值对。然后,我们使用列表推导式[k for k in my_dict if my_dict[k] == '4']来遍历字典中的所有键,并将与所需值('4')相匹配的键添加到一个新的列表中。

最后,打印出列表four的值,即得到了与所需值相匹配的键('dogs'和'rabbits')。

如果需要进一步了解这个问题的解决方法,可以参考这里的一个很好的回答:https://stackoverflow.com/a/44664263/11264793

0
0 Comments

有时候,我们需要根据字典中的值来获取对应的键。下面的问题就是关于如何通过提供一个值作为条件来获取字典键的。

解决这个问题的方法是使用`dict.items()`方法,它可以获取字典中每个条目的键和值。然后我们可以遍历字典的条目,使用条件来判断值是否符合我们的要求,如果符合,则打印对应的键。

下面是一个示例代码:

for key, value in dict.items():
    if value == '4':
        print(key)

这段代码遍历了字典`dict`的每个条目,并使用条件`value == '4'`来判断值是否为4。如果值为4,则打印对应的键。

但是有一个用户对这个答案提出了一些意见,他更希望使用一个变量而不是硬编码的值4。这个意见是合理的,因为使用变量可以使代码更加灵活和可维护。

总结起来,要根据值来获取字典的键,我们可以使用`dict.items()`方法来遍历字典的条目,并使用条件来判断值是否符合要求。如果我们希望使用一个变量来代替硬编码的值,我们可以将变量与条件结合使用。这样我们就能够根据值来获取字典的键了。

0
0 Comments

字典是Python中常用的一种数据结构,它是由键值对组成的,键是唯一的而值可以重复。在某些情况下,我们可能需要根据给定的值来找到对应的键。这篇文章将介绍如何通过提供一个值作为条件来获取字典中的键。

在Python中,我们可以使用`dict.items()`来迭代字典中的所有键值对。上述代码示例中,我们定义了一个名为`dict`的字典,其中包含了一些动物和它们的数量。另外,我们还定义了一个名为`my_list`的列表,其中包含了一些数字。

接下来,我们使用`for`循环来遍历字典中的键值对。在循环中,我们使用`if`语句来判断当前值是否与列表`my_list`中的第三个元素相等。如果相等,我们就打印出对应的键。

运行上述代码后,输出结果为:

dogs
rabbits

这是因为字典中的值'4'与列表`my_list`中的第三个元素'4'相等,所以对应的键'dogs'和'rabbits'被打印出来。

通过上述代码示例,我们可以看到,我们可以通过使用`dict.items()`来遍历字典中的键值对,并通过条件判断来获取满足条件的键。这是解决这个问题的一种常用方法。

0