python学习——字典的相关操作方法

在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,列表,元组同理


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qhumaing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值