Python中的字典
1. 字典的创建
字典就是一个存放键——值对的集合。每一个键都与一个值相关联,可以通过键来直接获取到对应的值。
dict1 = {'name': "Meng"}
dict2 = dict(name='Meng')
注:键值必须是不可变的数据类型,如字符串,元组,数字,而列表,字典,集合都不能作为字典的键。
2. 字典底层实现原理
Python中字典是通过散列表来实现的,也就是说,字典也是一个数组,但数组的索引是键经过哈希函数处理后得到的散列值。
3. 字典的基本用法
personal_info = {"name": "Meng", "age":10, "gender": "male"}
# 通过key访问value
print(personal_info['name'])
# 添加新的key-value
personal_info['height'] = 190
# 修改key对应的value值
personal_info['age'] = 20
# 删除字典中key-value值
del personal_info['gender']
# 判断字典中是否含有指定的key
print('name' in personal_info)
4. 字典中的常用方法
clear() # 用于清空字典中所有的key-value对
copy() # 拷贝字典,浅拷贝
fromkeys(seq[, value]) # 用于创建一个新的字典,以序列seq中字典作为键值,value为对应的键值所对应的初始值,默认为None
get(key) # 获取字典中key对应的value
items() # 获取字典中所有key-value对,返回的为dict_items对象
keys() # 获取字典中所有的key,返回的为dict_keys对象
values() # 获取字典中所有的value,返回的为dict_values对象
update(dic) # 用dic字典来更新原字典中的数据
pop() # 用于获取指定的key对应的value,并删除这个key-value对
popitem() # 随机弹出字典中的一个key-value对
setdefault() # 获取key对应的键值,如果不存在于字典中,将会添加键为默认值
测试
personal_info = {
'name': "Meng",
'age': 10,
'gender': "male"
}
print(personal_info.get('gender'))
print(personal_info.keys())
print(personal_info.values())
print(personal_info.items())
personal_info.update({"age": 15, 'height': 190})
print(personal_info)
print(personal_info.popitem())
print(personal_info)
print(personal_info.pop('age'))
print(personal_info)
print(personal_info.setdefault("weight", 50))
print(personal_info.setdefault("name", None))
personal_info.clear()
print(personal_info)
#=======output=========
male
dict_keys(['name', 'age', 'gender'])
dict_values(['Meng', 10, 'male'])
dict_items([('name', 'Meng'), ('age', 10), ('gender', 'male')])
{'name': 'Meng', 'age': 15, 'gender': 'male', 'height': 190}
('height', 190)
{'name': 'Meng', 'age': 15, 'gender': 'male'}
15
{'name': 'Meng', 'gender': 'male'}
50
Meng
{}