一 字典表的特性
- 通过键(key)而非位置偏移(下标索引)访问数据
- 可包含任意对象的无序集合(3.6以后变为了有序的)
- 可变长度,异质,可任意嵌套
- 属可映射分类
- 对象引用哈希表(Hash Table)
二 声明
- 空字典 {}
- {key:value, }
- dict(key=value)
- dict([(key, value), (key2, value2),])
- dict.fromkeys([key1, key2….]) #建立一个包含多个键的字典表
三 常用操作
访问值
data[‘key’]
data.get(‘key’, [default]) 获得键位key的值,没有则返回可选参数默认值default
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>data['name']
'Tom'
>>>data.get('age')
12
>>>data.get('hobby', 'play') #没有键为hobby的,所以返回默认值'play'
获得所有键,或者值
data.keys() 获得所有键
data.values() 所有值
data.items() 所有项
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>data.keys()
dict_keys(['name', 'age', 'sex'])
>>>data.values()
dict_values(['Tom', 12, 'man'])
>>>data.items()
dict_items([('name', 'Tom'), ('age', 12), ('sex', 'man')])
复制一个副本
data.copy()
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>data1 = data.copy()
>>>data1
{'name': 'Tom', 'age': 12, 'sex': 'man'}
清除所有项
data.clear()
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>data{}
{}
改变某一个键的值
data[‘key’] = value
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>data['age'] = 18
>>>data
{'name': 'Tom', 'age': 18, 'sex': 'man'}
合并更新字典表
data.update(字典表)
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>data.update({'hobby':'play', 'num':10})
{'name': 'Tom', 'age': 18, 'sex': 'man', 'hobby': 'play', 'num': 10}
弹出某一项
data.pop(key) 有返回值,值为键对应的值
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>a = data.pop('sex')
>>>a
'man'
>>>data
{'name':'Tom','age':12}
删除某一项
del data[key]
弹出最后一项
data.popitem() 以元组的方式弹出(key, value)
>>>data = {'name':'Tom','age':12, 'sex':'man'}
>>>data.popitem()
('sex', 'man')
>>>data.popitem()
('age', 12)
>>>data.popitem()
('name', 'Tom')
小结
- 以上是自己学python时的一些笔记,感觉写在本上不方便,正好利用闲暇时间腾到csdn上。
- 自己的总结,如果有那些地方不合理或有有误,请指正。
- 知识体系图:[Python3基础数据类型