目录
前言
字典 (Dictionary)是Python提供的一种常用的数据结构,由键(key)和值(value)成对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典由大括号 {}括起来 。 字典也被称作关联数组或哈希表。
今天跟大家分享几个关于python字典的操作。
一、创建字典的几种方式
1、用dic()创建字典
>>> dict([('name','xiaozhang'),('age',80)]) {'name': 'xiaozhang', 'age': 80}
2、字典推导
列表推导式之前我们都说过,可以实现列表的生成,同样字典推导也可以创建出需要的字典:
>>> {d:d**2 for d in range(4)}, ({0: 0, 1: 1, 2: 4, 3: 9},)
3、使用fromkeys创建字典
dict.fromkeys(keys, value) 方法可以根据给出的键列表创建一个新的字典,值设置为提供的值,如果没有提供,则默认都为None。
>>> names = ('xiaozhang','xiaowang','xiaoqiang') >>> ages = dict.fromkeys(names,None) >>> ages {'xiaozhang': None, 'xiaowang': None, 'xiaoqiang': None} >>> >>> ages = dict.fromkeys(names,22) >>> >>> ages {'xiaozhang': 22, 'xiaowang': 22, 'xiaoqiang': 22}
4、直接定义个空字典
有时我们需要定义个空的字典,待我们处理完数据后进行加入这个空字典中,如下:
>>> d = dict() >>> d {} >>> type(d) <class 'dict'>
二、从字典中用get获取值
从字典中获取值的一个推荐方法是用get,这个方法如果字典中没有值,返回None,同时在没有值的情况下我们也可以指定自己的默认值:
>>> names = {'name':'xiaozhang','age':10} >>> names.get('name') 'xiaozhang' >>> >>> names.get('sex') >>> r = names.get('sex') >>> print(r) None >>> r = names.get('sex','男') >>> print(r) 男
keys和values()
key()返回所有字典的键,values()返回字典所有的值,一般获取完后我们可以通过一个for循环来遍历这个字典,来得到整个字典的键值。
>>> names = {'name':'xiaozhang','age':10,'sex':'男','school':'xiaoxue','city':'beijing'} >>> keys = names.keys() >>> values = names.values() >>> >>> print(keys) dict_keys(['name', 'age', 'sex', 'school', 'city']) >>> print(values) dict_values(['xiaozhang', 10, '男', 'xiaoxue', 'beijing']) >>> for k in names.keys(): ... print(k) ... name age sex school city >>> for k in names.keys(): ... print(k,names[k]) ... name xiaozhang age 10 sex 男 school xiaoxue city beijing