为什么 get(key, value) 返回正确的值,即使你在值点输入了错误的值?

问题描述 投票:0回答:2

所以我知道这个方法的作用,但我试图理解它为什么这样做。例如:

dic = {'a':500, 'b':600}

dic.get('a', 5)

#output

500

我希望这是无效的。但它似乎只打印了正确的值,而不是我输入的错误值。为什么这样做,或者是否发生了其他我想念的事情。谢谢!

python python-3.x dictionary get
2个回答
0
投票

如果你阅读 dict.get 的文档,你会看到如果字典中没有键,第二个参数将被返回。

例如:

my_dict = {"a": 100, "b": 200}
print(my_dict.get("a", 200))  # 100
print(my_dict.get("c", 300))  # 300
print(my_dict["c"])           # raised KeyError

0
投票

dict.get()
接受一个键和可选的值参数,如果找不到键并且不将其与键的值进行比较,则返回该参数。我不知道你为什么 would 想那样使用它,但你可以用它来得到你的结果:

dic = {'a': 500, 'b': 600}

key, value = 'a', 5
result = dic.get(key, None)

if not result or result != value:
    print("Key value pair not found.")
© www.soinside.com 2019 - 2024. All rights reserved.