python3基本数据类型03——字典
一、字典
字典:每个元素都是一个键值对
>>> user = {'name':'tdh','age':80,'sex':'nan'}
>>> user['name']
'tdh'
>>> user['age']
80
如上:字典的键:name、age、sex,字典的值:‘tdh’、80、‘nan’,每个键都对应一个值。字典的键就相当于之前字符串的索引,只不过字典的索引只能靠自己设置,而字符串的索引是自动生成的
查看字典的键:使用keys函数
>>> user = {'name':'tdh','age':80,'sex':'nan'} >>> user.keys() dict_keys(['name', 'age', 'sex'])
查看字典的值:使values函数
>>> user = {'name':'tdh','age':80,'sex':'nan'} >> user.values() dict_values(['tdh', 80, 'nan'])
查看字典的键值对:使用items函数
>>> user = {'name':'tdh','age':80,'sex':'nan'} >>> user.items() dict_items([('name', 'tdh'), ('age', 80), ('sex', 'nan')])
清空字典:clear函数
>>> user1 {'name': 'tdh', 'age': 80, 'sex': 'nan'} >>> user1.clear() >>> user1 {}
查看字典的key中是否存在‘a’:
t = 'a' in dict.keys()
若 t 为True表示字典的键里有‘a’
get(self, k, d=None):根据key来获取值
输入:k表示键,d为字典没有k参数时输出的值
功能:获取键对应的值 注:与直接使用键索引相比,直接使用键索引时没有找到键时会报错,如下图红色部分
输出:参数k在字典里,则输出k对应的值,否则输出d参数
>>> user
{'name': 'tdh', 'age': 80, 'sex': 'nan'}
>>> user.get('name',1)
'tdh'
>>> user.get('name1',1)
1
>>> user['name1']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'name1'
pop(self, k, d=None):根据键删除键以及键对应的值
输入:k要删除的键,d表示没有找到k参数时输出的值
功能:删除k键及其对应的值
输出:若找到k,则输出k对应的值,否则输出d或报错
>>> user {'name': 'tdh', 'age': 80, 'sex': 'nan'} >>> user.pop('name',0) #删除‘name’键值对 'tdh' >>> user {'age': 80, 'sex': 'nan'} >>> user.pop('11',0) #字典没有‘11’键,输出d参数 0 >>> user.pop('11') #字典没有‘11’键且没有设置参数d,报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: '11'
popitem(self):直接删除最后一个键值对
输入:无
功能:删除最后一个键值对
输出;输出最后一个键值对
>>> user1 {'name': 'tdh', 'age': 80, 'sex': 'nan'} >>> user1.popitem() ('sex', 'nan') >>> user1 {'name': 'tdh', 'age': 80}
update(self, E=None, **F):批量更新
输入:字典(只能有一个参数,不能直接填键值对)
功能:在末尾添加字典
输出:无 def update(self, E=None, **F): # known special case of dict.update
""" D.update([E, ]**F) -> None. Update D from dict/iterable E and F. If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k] """ pass
>>> D = {1:1,2:2,3:3}
>>> E= {1:2,4:4}
>>> D.update(E)
>>> D
{1: 2, 2: 2, 3: 3,4:4}