Python学习笔记3:字典方法

Python字典方法

字典初体验

创建空字典

dict2 = {}

>>> type(dict2)

<class 'dict'>

创建字典

>>> dict1 = {1:'one',2:'two',3:'three'}

>>> dict1

{1: 'one', 2: 'two', 3: 'three'}

添加、修改和删除字典项

>>> dict2
{}
>>> dict2[1] = 'one'
>>> dict2[2] = 'two'
>>> dict2
{1: 'one', 2: 'two'}
>>> dict2[2] = 'three'
>>> dict2
{1: 'one', 2: 'three'}
>>> del dict2[1]
>>> dict2
{2: 'three'}

字典方法

adict.keys() 返回一个包含字典所有key的列表,这个列表不能直接引用,必须要经过list()转化

>>> dict3 = {1:'one',2:'Two',3:'three'}
>>> dict3.keys()
dict_keys([1, 2, 3])
>>> list(dict3.keys())
[1, 2, 3]

adict.values() 返回一个包含字典所有value的列表,这个列表不能直接引用,必须要经过list()转化

adict.items() 返回一个包含所有(键,值)元祖的列表;

>>> dict3.items()
dict_items([(1, 'one'), (2, 'Two'), (3, 'three')])

adict.clear() 删除字典中的所有选项或元素

>>> dict3
{1: 'one', 2: 'Two', 3: 'three'}
>>> dict3.clear()
>>> dict3
{}

adict.copy() 返回一个字典的副本,如果原字典改变,副本不会改变;

>>> dict = {1:[2,5],2:'two'}
>>> dict1 = dict.copy()
>>> dict1
{1: [2, 5], 2: 'two'}
>>> dict[1] = [2,3,5]
>>> dict
{1: [2, 3, 5], 2: 'two'}
>>> dict1
{1: [2, 5], 2: 'two'}

adict.fromkeys(seq, val=None) 创建并返回一个新字典,seq为一个序列,序列中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None),其中所有的key都对应同样的一个val

>>> dict1 = {}
>>> dict2 = dict1.fromkeys([1,2,3],'one')
>>> dict2
{1: 'one', 2: 'one', 3: 'one'}
>>> dict1
{}
>>> dict1 = dict2.fromkeys(['a','b','c'],'green')
>>> dict1
{'a': 'green', 'b': 'green', 'c': 'green'}
>>> dict2
{1: 'one', 2: 'one', 3: 'one'}

adict.get(key, default = None) 返回字典中key的值,如果该key不存在,则返回default的值,default的值默认为None

>>> dict2
{1: 'one', 2: 'one', 3: 'one'}
>>> dict2.get(1)
'one'
>>> dict2.get(4)
>>> dict2.get(4,'nba')
'nba'

adict.pop(key[,default]) 删除并返回key对应value的值,如果key不存在,返回设置的default的值,如果没有设置default,返回KeyError

>>> dict2
{1: 'one', 2: 'one', 3: 'one'}
>>> dict2.pop(1)
'one'
>>> dict2
{2: 'one', 3: 'one'}
>>> dict2.pop(4,'abc')
'abc'
>>> dict2
{2: 'one', 3: 'one'}
>>> dict2.pop(4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 4

adict.setdefault(key, default=None) 返回key对应的value,如果key不存在,返回default的值等同于adict.get()

adict.update(bdict) adict和bdict同为字典,使用bdict更新adict,两个字典adict里面的键值对保持不变,将bdict存在但adict里面没有的键值对添加到adict里面

>>> dict1
{1: 'one', 2: 'two', 3: 'three'}
>>> dict2
{2: 'two', 3: 'abc', 4: 'four'}
>>> dict1.update(dict2)
>>> dict1
{1: 'one', 2: 'two', 3: 'abc', 4: 'four'}
>>> dict2
{2: 'two', 3: 'abc', 4: 'four'}

如果如果相同的key,但value不相同,则dict1中的value变为dict2中的value

posted @ 2017-06-10 10:45  戴维德  阅读(988)  评论(0编辑  收藏  举报