本文共 1910 字,大约阅读时间需要 6 分钟。
字典是Python中的一种可变容器,能够存储任意类型的对象。它通过键(key)和值(value)的映射关系来组织数据,键和值之间用冒号分隔,对之间用逗号分隔。字典的形式通常为:
d = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'} 需要注意的是,字典的数据是无序的,键必须使用不可变类型且不能重复。字典的键可以用来作为索引,但不能使用整数索引。
字典是可以修改数据的数据容器,列表的元素存放在对应的下标处,但字典没有固定的下标顺序。字典的元素可以重复。
dict1 = {}print(dict1) # 输出: {}dict1 = {'name': 'zhl', 'age': 21, 'sex': 'male'}print(dict1) # 输出: {'name': 'zhl', 'age': 21, 'sex': 'male'} 如果键名重复,只有最后一个会被保留:
x4 = {'name': 'zhl', 'age': 21, 'name': 'wh'}print(x4) # 输出: {'name': 'wh', 'age': 21} 同样,键不能是可变类型,例如列表:
x5 = {[10, 20]: 'zhl'}print(x5) # 输出: TypeError: unhashable type: 'list' 字典支持增、删、改、查四种基本操作。
修改或添加键值对:
x = {'name': 'zhl', 'age': 21, 'sex': 'male'}x['age'] = 100 # 修改键值对print(x) # 输出: {'name': 'zhl', 'age': 100, 'sex': 'male'}x['aihao'] = 'youyong'print(x) # 输出: {'name': 'zhl', 'age': 100, 'sex': 'male', 'aihao': 'youyong'} 检查键是否存在:
print('name' in x) # 输出: Trueprint('name' not in x) # 输出: Falseprint('name' in x.keys()) # 输出: Trueprint('name' in x.values()) # 输出: False 删除键值对:
x = {'name': 'zhl', 'age': 21, 'sex': 'male'}del x['name']print(x) # 输出: {'age': 21, 'sex': 'male'} 使用 clear 方法:
dict1 = {'name': '张三', 'age': 18, 'sex': '男'}dict1.clear()print(dict1) # 输出: {} 使用 copy 方法:
dict1 = {'name': '张三', 'age': 18, 'sex': '男'}dict2 = dict1.copy()print(dict2) # 输出: {'name': '张三', 'age': 18, 'sex': '男'} 使用 get 方法:
d2 = dict1.get('name', None)print(d2) # 输出: '张三' 使用 items 方法:
for k, v in dict1.items(): print(k, v)
使用 keys 方法:
print(dict1.keys()) # 输出: dict_keys(['name', 'age', 'sex'])
使用 update 方法:
dict2 = {'name': '李四', 'age': 16}dict1.update(dict2)print(dict1) # 输出: {'name': '李四', 'age': 16, 'sex': '男'} 使用 pop 方法:
n = dict1.pop('name')print(n) # 输出: '李四'print(dict1) # 输出: {'age': 16, 'sex': '男'} 转载地址:http://foofk.baihongyu.com/