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'])