我已经在网上搜索过,但没有找到针对我的查询的答案。
在Python 3字典中,如何通过提供值(使用条件)来获取键。例如,如果我有一本包含宠物名字及其数量的字典:
my_dict = {'cats' : '5', 'dogs' : '4', 'fish' : '7', 'rabbits': '4'}
Run Code Online (Sandbox Code Playgroud)
您将如何使用条件来通过提供所有键“dogs”和“rabbits”的值(数量)(例如本例中的 4)来获取它们?
我读取一个输入文件并将一行存储在列表中(通过拆分字符串),然后使用 my_list[2] 访问该数量并从那里获取该数字 4。然后我需要检查是否有任何宠物与另一本字典中的这个数量相对应。
为了获得这个数量的宠物,我使用了以下方法:
for key, value in my_dict():
if value == my_list[2]:
print (key)
Run Code Online (Sandbox Code Playgroud)
但它只给了我一个键,而不是与值 4 关联的所有键。
编辑:事实证明这部分代码按预期工作,但实际问题是,在调试过程中,在输入文件中我更改了此变量的值(并忘记将其改回来),该值仅与一个匹配值在我的字典中,因此只返回一个键。非常感谢所有回复和建议的人。
您需要检查所有键并查看哪些键具有关联的所需值。
my_dict = {'cats' : '5', 'dogs' : '4', 'fish' : '7', 'rabbits': '4'}
four = [k for k in my_dict if my_dict[k] == '4']
Run Code Online (Sandbox Code Playgroud)
结果值four:
['dogs', 'rabbits']
Run Code Online (Sandbox Code Playgroud)
这在这里也得到了很好的回答:https ://stackoverflow.com/a/44664263/11264793
| 归档时间: |
|
| 查看次数: |
8140 次 |
| 最近记录: |