字典常用的方法(内建函数)

序号   函数 功能                                               
1 clear()  
2 copy()  
3 fromkeys()  
4 dict()  
5 get()  
6 items()  
7 pop()  
8 popitem()  
9 hash()  
10 keys()  
11 values()  
12 update()  
13 setdefault()  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.clear():清楚字符串中的所有项,这是一个原地操作,没有返回值。

>>> info = {'name':'kebi','age':'28'}
>>> info.clear()
>>> info
{}

2.copy方法返回一个具有相同键值对的新字典。新开辟了一个内存空间。

>>> info = {'name':'kebi','age':'28'}
>>> INFO = info.copy()
>>> INFO
{'name': 'kebi', 'age': '28'}
>>> id(info)
2410872824456   #内存地址不一样
>>> id(INFO)
2410871941304

3.fromkeys:使用给定的键创建一个新的字典,每个键都对应一个默认的None。

>>> {}.fromkeys(['name','age'])
{'name': None, 'age': None}

>>> fromkeys(['name','age']) #首先需要建立一个新的字典
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'fromkeys' is not defined

>>> dict.fromkeys(['name','age'])   #也可以使用dict
{'name': None, 'age': None}

>>> dict.fromkeys(['name','age'],'unknow')
{'name': 'unknow', 'age': 'unknow'}
>>> {}.fromkeys('LOVE')     #可以作用于字符串
{'L': None, 'O': None, 'V': None, 'E': None}
>>> {}.fromkeys(('name','age')) #可以作用于元祖
{'name': None, 'age': None}

 

4.get():访问字典,即使键不存在,也不会报错,会返回None

>>> info
{'name': 'kebi', 'age': '28'}

>>> info.get('name')
'kebi'

>>> print(info.get('sex'))
None

5.item():将字典中的所有项以列表方式返回。

>>> info.items()
dict_items([('name', 'kebi'), ('age', '28')])

6.pop():获得对应于给定键的值,然后将这个键值对从字典中移除。

>>> info
{'name': 'kebi', 'age': '28'}
>>> info.pop('age')
'28'
>>> info
{'name': 'kebi'}

7.popitem():随机弹出字典中最后一个键值对,并将其移除。

>>> info = {'name':'kebi','age':'25','six':'women'}
>>> info.popitem()     #弹出最后一个
('six', 'women')
>>> info.pop()
>>> info
{'name': 'kebi', 'age': '25'}
>>> info.popitem()         
('age', '25')

 8.hash():hash函数并不是专门为字典设计的方法,但是可以判断某个对象是否可以作为字典的键。

     将一个对象作为参数传给hash(),会返回这个对象的hash值。只有这个对象是可hash的,才可作为字典的键。

     如果将非可hash的对象作为参数传递给hash()方法,会产生TypeError错误。

>>> hash('name')
7578313563306818018  #可hash

>>> hash({})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'     #不可hash

9.keys():返回一个包含字典中所有键的列表。

>>> dict2
{'name': 'value', 'age': 25}

>>> dict2.keys()
dict_keys(['name', 'age'])

10.values():返回一个包含字典中所有值的列表。

>>> dict2
{'name': 'value', 'age': 25, 'abc': 123}

>>> dict2.values()
dict_values(['value', 25, 123])

11.update():将另一个字典中的键值对添加到本字典中。

>>> dict5 = {'name':'kebi','age':25}
>>> dict6 = {'sex':'man','Like':'women'}

>>> dict5.update(dict6)
>>> dict5
{'name': 'kebi', 'age': 25, 'sex': 'man', 'Like': 'women'}

12.setdefault():与get方法类似,返回字典中某个键的值,如果有则返回,如果没有,会默认添加键以及值。

>>> dict7 = {'name':'kebi','age':25}
>>> dict7.setdefault('name')
'kebi'

>>> dict7.setdefault('sex')
>>> dict7
{'name': 'kebi', 'age': 25, 'sex': None}  #没有自己添加

>>> dict7.setdefault('Like','women')      #也可以作为添加元素的方法
'women'
>>> dict7
{'name': 'kebi', 'age': 25, 'sex': None, 'Like': 'women'}

13.dict():可以通过映射其他序列建立字典。

>>> info = [('name','kebi'),('age',25)]
>>> dict(info)
{'name': 'kebi', 'age': 25}

>>> dict(name='kebi',age=25)  #name和age是键,不能加引号
{'name': 'kebi', 'age': 25}

 

posted @ 2017-10-24 19:19  明王不动心  阅读(616)  评论(0编辑  收藏  举报