字典常用的方法(内建函数)
序号 | 函数 | 功能 |
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}