本文的开发环境为win10+Python 3.6.5。主要总结了python中字典对象的一些常规操作。
以下例子都假设初始化的字典对象为 d = {"k1": 1, "k2": 2}
增加元素
直接通过d[key] = value的方式增加,如果key已经在字典中,那么更新这个key对应的值
遍历字典的key
我们可以使用字典对象的keys()方法, 返回的是一个字典key组成的视图,我们可以使用下面的方式去遍历:
1
遍历字典的value
同理,字典对象提供了一个values()方法:
2
同时遍历字典的key和value
我们可以使用字典的items()方法:
3
遍历字典的key的简单方法
其实我们可以直接对字典变量这个进行遍历,就是遍历的字典的key,比如:
4
同理,当我们判断字典是否包含或者不包含某个key的时候,可以直接使用字典名:
5
get方法
字典对象有一个get方法,用于获取字典的key对应的值,如果这个key不存在,不会抛出异常,会返回get方法的第二个参数的值,这个值默认是None,get方法的第一个参数是需要获取的key的名字,比如:
如果我们通过d['k3']的方式去访问一个不存在的属性,会报错
setdefault方法
这个方法有两个参数,第一个参数是一个key,这个key如果在字典中存在,那么返回这个key对应的值,如果这个key不存在,则给字典增加一个key,并且设定值为第二个参数,第二个参数默认值是None:
update方法
update用于更新一个字典,参数默认值是None,也就是没有更新,可以传递一个新的字典对象,那么如果新的字典的key不存在于现在的字典中,则增加这个key和value,如果已经有了这个key,则把key对应的值修改为新的值:
fromkeys方法
这个方法是字典dict这个类的类方法,第一个参数是一个序列对象,会按照这个序列产生字典的key,第二个参数是key对应的值,是一个独立的值,也就是每个key对应的值都是这个值:
请注意第二种方法,我们前面说了每个key对应的值,都是第二个参数,那么大家都引用的是同一个[],任何一个的改变,都会影响到其它key,因为[]是一个可变对象,对于第一个产生的int型的值,由于是不可变对应,所以其它key修改了值,是不会影响其它的。
pop和popitem
pop接受两个参数,第一个参数是需要移除的key,并且返回这个key对应的值,如果这个key不存在,则返回第二个参数的值,第二个可以不传,但是不传并且key不存在,则会抛出KeyError异常
popitem没有参数,按照LIFO(Last in first out,后进先出)的原则移除字典的元素,并且返回一个元组(key, value):
字典的常用规则差不多这些,下节内容会有关于collections这个库里面关于更多的字典的操作。
领取专属 10元无门槛券
私享最新 技术干货