class2-字典
2019-05-05 本文已影响14人
凌航
字典与c语言中的map类似,字典中的元素是以key->value成对出现的,key的作用有点类似于列表的索引,且不能重复
- 创建:同列表,直接用花括号创建
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
print(type(info))
<class 'dict'>
- 访问
- 根据键进行访问,若是键不存在会报错
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
print(info['name'])
print(info['sex'])
刘强东
KeyError: 'sex'
- get:当我们不确定字典中是否存在某个key,而且还要获得其value可以使用get方法。若找到,返回对应的值,否则返回第二个参数
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
mail = info.get('mail', '122@jingdong.com')
print(mail)
sex = info.get('sex', '未找到')
print(sex)
122@jingdong.com
未找到
- 修改:用key做下标,修改对应的值
'id': 513524199806045423, 'addr': '北京'}
info['name'] = '马云'
print(info)
{'name': '马云', 'age': 45, 'id': 513524199806045423, 'addr': '北京'}
- 添加:直接看例子
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
info['sex'] = '男'
print('添加后',info)
添加后 {'name': '刘强东', 'age': 45, 'id': 513524199806045423, 'addr': '北京', 'sex': '男'}
- 删除:两种方式,一种是del,一种是clear
- del:可以根据键删除,也可以直接让字典变成未定义状态
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
del info['name']
info['sex'] = '男'
print('删除后', info)
# del info # 直接删除info,让其未被定义
删除后 {'age': 45, 'id': 513524199806045423, 'addr': '北京', 'sex': '男'}
- clear:清空字典
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
info.clear()
print('after after ',info)
print(len(info)) # 输出字典的个数义
after after {}
0
- keys:以列表形式返回所有key
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
keys = info.keys()
print(keys)
dict_keys(['name', 'age', 'id', 'addr'])
- values:以列表形式返回所有value
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
values = info.values()
print(values)
dict_values(['刘强东', 45, 513524199806045423, '北京'])
- items:同时返回key和value,返回值是列表,元素是元组
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
items = info.items()
print(items)
dict_items([('name', '刘强东'), ('age', 45), ('id', 513524199806045423), ('addr', '北京')])
- 遍历:类似于列表,把索引换成key就行了
info = {'name': '刘强东', 'age': 45,
'id': 513524199806045423, 'addr': '北京'}
for key in info.keys():
print(info[key])
刘强东
45
513524199806045423
北京