1. 典是key-value数据类型,是无序的,key是唯一的,语法如下
person = { 'name': 'Sam', 'age': 23, 'address': '北京' }
2. 增加
person={ 'name': 'Sam', 'age': 23 } person['addr']='Beijing' print(person)
结果:
{'name': 'Sam', 'age': 23, 'addr': 'Beijing'}
3. 修改
person={ 'name': 'Sam', 'age': 23 } person['name']='Jey' print(person)
结果:
{'name': 'Jey', 'age': 23}
4. 查找
>>> person={'name': 'Sam', 'age': 34, 'addr': 'Beijing'} >>> 'name' in person True >>> 'name3' in person False
>>> person.get('age') 34 >>> person.get('age2')
>>> person['age'] 34 >>> person['age2'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'age2'
5. 循环
person={ 'name': 'Sam', 'age': 23, 'addr': 'beijing' } for key in person: print(key, person[key]) for k, v in person.items(): print(k, v)
6. 删除
person={ 'name': 'Sam', 'age': 23, 'addr': 'beijing' } del person['name'] # 如果key不存在,会报错 # person.pop('name') # 如果key不存在,会报错 print(person)
结果
{'age': 23, 'addr': 'beijing'}
随机删除
person={ 'name': 'Sam', 'age': 23, 'addr': 'beijing' } person.popitem() print(person)
7. 更新
person={ 'name': 'Sam', 'age': 23, 'addr': 'beijing' } a={1: 2, 4:6} person.update(a) print(person)
结果
{'name': 'Sam', 'age': 23, 'addr': 'beijing', 1: 2, 4: 6}
8. 复制 copy 浅复制,深复制 与列表类似
9. 清除 clear 与列表类似
10. 其它方法
items
person={ 'name': 'Sam', 'age': 23, 'addr': 'beijing' } a=person.items() print(a)
结果
dict_items([('name', 'Sam'), ('age', 23), ('addr', 'beijing')])
setdefault
>>> person={'name': 'Sam', 'age': 34, 'addr': 'Beijing'} >>> person.setdefault('name', 'Jey') # 如果key存在则不改 'Sam' >>> person {'name': 'Sam', 'age': 34, 'addr': 'Beijing'} >>> person.setdefault('name2', 'Jey') # 如果key不存在,则添加 'Jey' >>> person {'name': 'Sam', 'age': 34, 'addr': 'Beijing', 'name2': 'Jey'} >>>
fromkeys # 通过列表生产字典
>>> person={'name': 'Sam', 'age': 34, 'addr': 'Beijing'} >>> person.fromkeys([1,2,3]) {1: None, 2: None, 3: None} >>> person.fromkeys([1,2,3],'v') {1: 'v', 2: 'v', 3: 'v'} >>> person.fromkeys([1,2,3],['a', 'b', 'c']) {1: ['a', 'b', 'c'], 2: ['a', 'b', 'c'], 3: ['a', 'b', 'c']} >>>
keys
person={ 'name': 'Sam', 'age': 23, 'addr': 'beijing' } a=person.keys() print(a) print(type(a))
结果
dict_keys(['name', 'age', 'addr']) <class 'dict_keys'>
values
person={ 'name': {1: 'Sam', 2: 'Jey'}, 'age': 23, 'addr': 'beijing' } print(person.values())
结果
dict_values([{1: 'Sam', 2: 'Jey'}, 23, 'beijing'])