1、字典常见操作
1.1 查看元素
(1) in:检查一个键是否存在于字典中。如果存在则返回True;否则返回False。
(2) not in:检查一个键是否不存在于字典中。如果不存在则返回True;否则返回False。
# 示例
info = {"name": "xiaobai", "age": 35}
print("age" in info) # True
print(35 in info) # False 18 是值不是键
print('a' not in info) # True(3)len():获取字典中元素的数量,即键值对的数量。
# 示例
info = {"a": 1, "b": 2, "c": 3, "d": 4, "hahaha": "哈哈哈"}
print(len(info))(4)字典[键名]:根据键来获取字典中对应的值。如果键不存在,则抛出异常 KeyError
# 示例
info = {"name": "xiaobai", "age": 35}
print(info[0]) # KeyError: 0 字典没有下标 ==> 无序序列 ==> 不支持切片
# 查找存在的键
print(info['age'])
# 查找不存在的键
print(info['tel']) # KeyError: 'tel'(5)get(键, 默认值=None):根据键来获取字典中对应的值。如果键不存在,则返回指定的默认值(如果提供了的话),如果没有提供默认值,则返回None。
# 示例
info = {"name": "xiaobai", "age": 35}
# 查找存在的键
print(info.get("age"))
# 查找不存在的键,不指定默认值
print(info.get("tel")) # None
# 查找不存在的键,并指定默认值
print(info.get("tel", "键名不存在!")) # 键名不存在!1.2 修改元素
# 语法格式 字典[键名] = 值
1.3 添加元素
# 语法格式 字典[键名] = 值
# 示例
info = {"name": "xiaobai", "age": 35}
# 通过存在的键修改其对应的值
info["age"] = 2
# 通过不存在的键来添加新的键值对
info["tel"] = 1301111222
print(info)
info = {"a": 1, 'b': 5, "c": 3}
info["b"] = 2 # 修改
info["ccc"] = "哈哈哈" # 新增
print(info)1.4 删除元素
(1)del:根据键删除字典中的元素(键值对),如果尝试删除一个不存在的键,则抛出异常 KeyError
# 示例
info = {"a": 1, 'b': 5, "c": 3}
# 删除存在的键
del info["b"]
# 删除不存在的键
del info['x'] # KeyError: 'x'
print(info)
info = {"a": 1, 'b': 5, "c": 3}
del info # 删除整个字典
print(info) # NameError: name 'info' is not defined(2)clear():删除字典中的所有元素,将其变为空字典
# 示例
info = {"a": 1, 'b': 5, "c": 3}
info.clear()
print(info) # {}(3)pop(键, 默认值):从字典中移除指定的键及其对应的值,并返回被移除的值。如果指定的键不存在于字典中,并且没有提供默认值,那么将抛出异常KeyError。但是,如果提供了默认值,那么在值不存在时会返回该默认值
# 示例
info = {"a": 1, 'b': 8, "c": 3}
# 删除存在的键并获取该值
print(info.pop("b"))
# 删除不存在的键
info.pop("hhh") # KeyError: 'hhh'
# 删除不存在的键,并指定默认值
print(info.pop("hhh", "没有找到!"))
print(info)1.5 遍历字典
字典是可迭代对象,支持for循环遍历
# 示例
info = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}
for i in info: # 默认情况下只遍历键名
print(i)(1)keys():获取字典中的所有键的视图对象。
# 示例
info = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}
keys_view = info.keys()
print(keys_view, type(keys_view))
# print(keys_view[0]) # TypeError: 'dict_keys' object is not subscriptable
for key in keys_view:
print(key)(2)values():获取字典中所有值的视图对象。
# 示例
info = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}
# print(info.values()[0]) # TypeError: 'dict_values' object is not subscriptable
for value in info.values():
print(value)(3) items():获取字典中所有键值对的视图对象
# 示例1
info = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}
print(info.items())
for item in info.items():
print(item, type(item))注意:字典视图对象是动态的,它反映了字典在那一刻的状态。如果原字典发生了变化,那么通过方法获得的视图对象也会相应的更
# 示例2
info = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}
# 获取视图对象
items_view = info.items()
print(items_view)
# 删除键值对
info.pop("c")
print(info)
print(items_view)著作权归文章作者所有。 未经作者允许禁止转载!