字典常用方法

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

posted @ 2023-03-30 21:54  我不知道取什么名字好  阅读(48)  评论(0编辑  收藏  举报