python 字典中取值的两种方法小结

yipeiwu_com7年前Python基础

如下所示:

a={'name':'tony','sex':'male'}

获得name的值的方式有两种

print a['name'],type(a['name'])
print a.get('name'),type(a.get('name'))

发现这两个结果完全一致,并没有任何的差异。

怎么选择这两个不同的字典取值方式呢?

如果字典已知,我们可以任选一个,而当我们不确定字典中是否存在某个键时,我之前的做法如下

if 'age' in a.keys():
 print a['age']

因为不先判断的话,直接使用a[‘age']会导致报错keyerror,提示没有该key的值。

而是用a.get(‘age') 则不会产生错误,解析器返回值如果存在就返回相应的value, 如果不存在就返回None.

if a.get('age'):
 print a['age'] 

而想要改变value 的值,则需要通过

a[‘name']='Jack'

使用a.get(‘name') = ‘Jack'

编译器则会提示 SyntaxError: can't assign to function call

以上这篇python 字典中取值的两种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python框架Flask的基本数据库操作方法分析

Python框架Flask的基本数据库操作方法分析

本文实例讲述了Python框架Flask的基本数据库操作方法。分享给大家供大家参考,具体如下: 数据库操作在web开发中扮演着一个很重要的角色,网站中很多重要的信息都需要保存到数据库中。...

Python读写docx文件的方法

Python读写word文档有现成的库可以处理。我这里采用 python-docx。可以用pip install python-docx安装一下。 这里说一句,ppt和excel也有类似...

详解Python3.6的py文件打包生成exe

详解Python3.6的py文件打包生成exe

原文提到的要点: 1. Python版本32位 (文件名为 python-3.6.1.exe) 2. 安装所有用到的模块(原文博主用的是openpyxl,我用到的有urllib中的req...

linux系统使用python监测系统负载脚本分享

linux系统使用python监测系统负载脚本分享

复制代码 代码如下:#!/usr/bin/env Python   import os def load_stat():     loa...

Python实现朴素贝叶斯的学习与分类过程解析

Python实现朴素贝叶斯的学习与分类过程解析

 概念简介: 朴素贝叶斯基于贝叶斯定理,它假设输入随机变量的特征值是条件独立的,故称之为“朴素”。简单介绍贝叶斯定理: 乍看起来似乎是要求一个概率,还要先得到额外三个概率,...