在Python中,字典(dictionary)类型提供了许多内置方法来执行各种操作。以下是一些常用的字典操作方法:
增加或修改元素
dict[key] = value: 如果键存在,则更新值;如果键不存在,则添加新的键值对。
my_dict['new_key'] = 'new_value' # 添加新键值对
my_dict['key1'] = 'updated_value' # 更新现有键的值
删除元素
del dict[key]: 删除指定的键值对。
del my_dict['key1'] # 删除键为'key1'的键值对
dict.pop(key[, default]): 删除指定的键值对,并返回该键的值。如果键不存在,返回默认值。
value = my_dict.pop('key1') # 删除键为'key1'的键值对,并返回其值
dict.popitem(): 删除字典中的一个键值对,并返回该键值对(在Python 3.7+中,按LIFO顺序,即栈结构)。
key, value = my_dict.popitem() # 删除并返回字典中的一个键值对
查找元素
dict.get(key[, default]): 返回指定键的值,如果键不存在,返回默认值。
value = my_dict.get('key1', 'default_value') # 安全地获取值,如果键不存在则返回'default_value'
key in dict: 检查键是否在字典中。
if 'key1' in my_dict:
print("Key exists")
更新字典
dict.update([other]): 使用另一个字典中的键值对更新当前字典。
my_dict.update({'key4': 'value4', 'key5': 'value5'}) # 添加或更新键值对
其他方法
dict.clear(): 清空字典中的所有元素。
my_dict.clear() # 清空字典
dict.copy(): 返回字典的一个浅拷贝。
new_dict = my_dict.copy() # 创建一个my_dict的副本
dict.fromkeys(iterable[, value]): 创建一个新字典,以可迭代对象中的元素作为键,值为value。
new_dict = dict.fromkeys(['key1', 'key2'], 'default_value') # 创建新字典,所有值默认为'default_value'
dict.keys(): 返回一个视图对象,显示字典中的所有键。
keys_view = my_dict.keys() # 获取所有键的视图
dict.values(): 返回一个视图对象,显示字典中的所有值。
values_view = my_dict.values() # 获取所有值的视图
dict.items(): 返回一个视图对象,显示字典中的所有键值对。
items_view = my_dict.items() # 获取所有键值对的视图
这些方法为操作Python字典提供了强大的工具集,使得字典成为处理键值对数据的一种非常灵活的数据结构。
实操
d = {1001:'李梅', 1002:'王华', 1003:'张锋'}
print(d)
# 向字典中添加元素
d[1004] = '张丽丽' # 直接使用赋值运算符向字典添加元素
print(d)
# 获取字典中所有的key
keys = d.keys() # dict_keys([1001, 1002, 1003, 1004])
print(keys) # 发现得到一个对象,可以转换
print(list(keys))
print(tuple(keys))
# 获取字典中所有的值
values = d.values()
print(values)
print(list(values))
print(tuple(values))
# 如何将字典中的数据转成键值对的形式,以元组的方式展现?
lst = list(d.items()) # 元素为元组的列表
print(lst)
d = dict(lst) # 这个列表也可以转回变为字典
print(d)
# 使用pop函数
print(d.pop(1001))
print(d)
# 随机删除(删除最后一个键值对)(后进先出,可以可以用来实现栈)
print(d.popitem())
print(d)
# 清空字典所有元素
d.clear()
print(d)
# python中一切皆对象,每个对象都要一个布尔值
print(bool(d)) # 空字典的布尔值为false,列表,元组同理
1231

被折叠的 条评论
为什么被折叠?



