字典常用方法
1.clear方法:清空字典中的所有键值对
函数功能:
用于删除字典中的所有元素
语法:
dict.clear()
代码示例:
dict1 = {'name': 'Tom', 'age': 25, 'city': 'Beijing'}
dict1.clear()
print(dict1) # {}
2.copy方法:浅拷贝复制字典
函数功能:
copy()
方法可以用来复制字典,返回一个新的字典,相当于浅复制了原始字典的副本。
语法:
new_dict = origin_dict.copy()
代码示例:
# 定义字典
origin_dict = {"name": "Tom", "age": 23, "gender": "male"}
# 复制字典
new_dict = origin_dict.copy()
# 查看原始字典和复制后的字典
print("原始字典:", origin_dict)
print("复制后的字典:", new_dict)
# 修改复制后的字典值
new_dict["name"] = "Jack"
# 再次查看原始字典和复制后的字典
print("原始字典:", origin_dict)
print("复制后的字典:", new_dict)
输出:
原始字典: {'name': 'Tom', 'age': 23, 'gender': 'male'}
复制后的字典: {'name': 'Tom', 'age': 23, 'gender': 'male'}
原始字典: {'name': 'Tom', 'age': 23, 'gender': 'male'}
复制后的字典: {'name': 'Jack', 'age': 23, 'gender': 'male'}
3.fromkeys方法:创建一个新字典,以给定的键作为键,指定的值作为该键的默认值
函数功能:
fromkeys()方法用于创建一个新的字典,将给定的键组成一个列表,每个键的值默认为None或指定的值。
语法:
dict.fromkeys(seq[, value])
参数介绍:
-
seq:需要作为键的序列,可以是列表、元组、字符串等。
-
value:可选参数,指定键的默认值,如果不指定,默认为None。
代码示例:
# 创建一个空字典
dict1 = {}
# 使用fromkeys方法创建新字典
dict2 = dict1.fromkeys(['a', 'b', 'c'])
print(dict2)
# 同时指定默认值
dict3 = dict1.fromkeys(['a', 'b', 'c'], 1)
print(dict3)
输出:
{'a': None, 'b': None, 'c': None}
{'a': 1, 'b': 1, 'c': 1}
4.get方法:返回指定键的值;如果键不存在,则返回指定的默认值
函数功能:
get()方法用于从字典中获取指定键对应的值。与直接使用字典[key]的方式不同,如果键不存在于字典中,则get()方法不会抛出异常,而是返回指定的默认值。
语法:
字典.get(key, default=None)
参数介绍:
key:要获取其值的键。如果键在字典中不存在,则返回默认值。default(可选):如果指定键的值不存在时,返回该默认值,如果没有指定,默认值为None。
代码示例:
dict1 = {'name': 'Tom', 'age': 25, 'city': 'Beijing'}
print(dict1.get('name', 'Not found')) # Tom
print(dict1.get('gender', 'Not found')) # Not found
5.items方法:返回一个包含所有键值对元组的列表
函数功能:
返回一个包含字典的所有项 (键值对) 的元组列表。
语法:
dictionary.items()
代码示例:
#声明一个字典
dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
#使用items()方法将字典转换为元组列表
items = dict.items()
#输出转换后的结果
print(items)
#使用for循环依次输出列表的每个元素
for item in items:
print(item)
#使用for循环输出字典的每个键/值
for key,val in dict.items():
print(key,val)
输出:
dict_items([('name', 'Tom'), ('age', 18), ('gender', 'male')])
('name', 'Tom')
('age', 18)
('gender', 'male')
name Tom
age 18
gender male
6.keys方法:返回一个包含所有键的列表
函数功能:
keys()方法用于获取字典中所有的键,返回一个包含键的列表。获取到的键的顺序是不确定的,因为字典是一种无序的数据结构。
语法:
字典变量.keys()
代码示例:
# 定义一个字典
my_dict = {'a': 1, 'b': 2, 'c': 3}
# 获取字典所有的键
keys_list = my_dict.keys()
# 打印结果
print(keys_list) # 输出 dict_keys(['a', 'b', 'c'])
7.pop方法:删除指定键的键值对,并返回该键对应的值
函数功能:
删除指定键并返回对应的值,如果该键不存在,则返回默认值。
语法:
dict.pop(key, default)
参数介绍:
- key:要删除的键的名称。-
- default:可选参数,如果该键不存在,则返回该值。如果没有指定该参数,则如果键不存在,则抛出KeyError异常。
代码示例:
# 创建一个字典
my_dict = {'name': '张三', 'age': 20, 'gender': '男'}
# 使用pop方法删除指定的键
age = my_dict.pop('age')
# 输出删除的键对应的值
print('age:', age)
# 再次输出字典的值
print('my_dict:', my_dict)
# 删除不存在的键,并设置默认值
default_gender = my_dict.pop('default_gender', '未知')
# 输出删除不存在的键返回的默认值
print('default_gender:', default_gender)
# 再次输出字典的值,由于未删除任何键,因此输出与之前一致
print('my_dict:', my_dict)
输出:
age: 20
my_dict: {'name': '张三', 'gender': '男'}
default_gender: 未知
my_dict: {'name': '张三', 'gender': '男'}
8.popitem方法:随机删除一个键值对,并返回该键值对
函数功能:
popitem()方法是Python字典中的一个方法,其作用是弹出字典中的一组键值对(key-value),并返回该键值对。字典是无序的,因此popitem()方法弹出的键值对是任意的。
语法:
dict.popitem()
代码示例:
dict = {'name': 'Tom', 'age': 20, 'gender':'male'}
print("原字典:" + str(dict))
# 使用popitem()方法弹出一个键值对
pop_item = dict.popitem()
print("弹出的键值对:" + str(pop_item))
print("弹出后的字典:" + str(dict))
# 再次使用popitem()方法弹出一个键值对
pop_item = dict.popitem()
print("弹出的键值对:" + str(pop_item))
print("弹出后的字典:" + str(dict))
输出:
原字典:{'name': 'Tom', 'age': 20, 'gender': 'male'}
弹出的键值对:('gender', 'male')
弹出后的字典:{'name': 'Tom', 'age': 20}
弹出的键值对:('age', 20)
弹出后的字典:{'name': 'Tom'}
9.setdefault方法:如果键存在于字典中,则返回对应的值;如果不存在,则插入指定的值作为该键的默认值,并返回该值
函数功能:
如果字典中存在指定的key,则返回该key对应的value;如果key不存在于字典中,则插入key及默认值value并返回默认值value。
语法:
dict.setdefault(key, default_value)
其中,key是字典中的键,default_value是可选参数,表示key对应的默认值,如果未提供默认值,则默认值为None。
参数介绍:
- key:表示要在字典中查找或插入的键。
- default_value:表示要插入键对应的默认值,如果该键不存在于字典中。
代码示例:
d = {'a': 1, 'b': 2}
print(d.setdefault('a', 3)) # 输出1,因为字典中已存在键'a',其对应的值为1
print(d) # 输出{'a': 1, 'b': 2},因为字典中没有任何改动
print(d.setdefault('c', 3)) # 输出3,因为字典中不存在键'c',该方法会插入一个新的键值对{'c':3},并返回默认值3
print(d) # 输出{'a': 1, 'b': 2, 'c': 3},因为字典中新增了一个键值对{'c':3}
10.update方法:用一个字典中的键值对更新原字典中的键值对
函数功能:
update()方法用来将一个字典中的键值对更新到另一个字典中。它会将第一个字典的键值对插入到第二个字典中,如果第二个字典中已经有同名的键,则会用第一个字典中的值替换第二个字典中的值
代码示例:
# 新建两个字典
dict1 = {"name": "张三", "age": 20}
dict2 = {"gender": "男"}
# 将dict2的键值对更新到dict1中
dict1.update(dict2)
print(dict1)
# 输出:{'name': '张三', 'age': 20, 'gender': '男'}
# 将元组列表转换为字典
tuple_list = [("id", 123), ("score", 90)]
dict1.update(tuple_list)
print(dict1)
# 输出:{'name': '张三', 'age': 20, 'gender': '男', 'id': 123, 'score': 90}
11.values方法:返回一个包含所有值的列表
函数功能:
values()方法用于获取字典中的所有值,返回一个包含所有值的列表(即dict_values对象)。
语法:
dict.values()
代码示例:
# 创建一个字典
dict_demo = {'a': 1, 'b': 2, 'c': 3}
# 通过values()方法获取字典所有的值
values = dict_demo.values()
print(values) # 输出 dict_values([1, 2, 3])
# 将dict_values对象转换为列表
value_list = list(values)
print(value_list) # 输出 [1, 2, 3]
# 使用for循环遍历dict_values对象
for value in values:
print(value)
# 输出:
# 1
# 2
# 3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探