分享

Python获取字典值

 生信交流平台 2021-12-29

    前面简单介绍了Python字典,以及如何创建字典。今天我们来聊聊如何获取字典中的值。python中有两种方法来获取字典中的值——get() 方法和 [key] 方法,今天我们来简单对比一下这两种方法。我们还是拿上次的car来举例子。

car = {"brand": "Porsche", "model": "911", "year": 1963}print(car["brand"])print(car.get("brand"))

我们获取brand信息,这两种方法得到的结果都是Porsche。

在实际编写程序的时候,有时候我们并不知道字典中有哪些 key 。如果你要获取一个字典中并不存在的key所对应的值,这时候两种方法就有区别了

car = {"brand": "Porsche", "model": "911", "year": 1963}print(car.get("price"))# Noneprint(car["price"])# KeyError: 'price'

因为字典里面没有price这个key,用get()方法得到的是None,用[key]方法会得到一个错误,keyError。如果程序中有任何 Error, 那么程序会停止运行。这是大家都不愿意看到的。 但是 get() 方法没有报错,返回了一个None。其实这里代码可以写的更人性化一些,get()方法可以增加第二个参数,指定 get() 方法在遇到错误的时候返回提示信息:

car = {"brand": "Porsche", "model": "911", "year": 1963}print(car.get("price", "Key doesn't exist!"))# Key doesn't exist!

这里指定如果没有这个key就返回"Key doesn't exist!"的提示信息。

get() 方法和 [key] 方法的主要区别在于,[key] 在遇到不存在的 key 时会抛出 KeyError 错误get() 方法会返回None或者你指定的提示信息,但不会妨碍程序继续执行。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多