Python字典基础与高级详解

在Python编程中,字典(dictionary)是一种非常重要的数据结构,它允许我们使用键(key)来存储和检索值(value),提供了高效的查找机制。本文将深入探讨字典的各种操作,包括创建、访问、更新以及一些高级功能,通过实例演示字典的使用。

创建字典

使用dict.fromkeys()创建空值字典
value = [1, 2, 3, 4, 5]
key = ['a', 'b', 'c', 'd', 'e']

# 创建一个字典,其中所有键对应的值都为None
dic = dict.fromkeys(key)
print(dic)  # 输出: {'a': None, 'b': None, 'c': None, 'd': None, 'e': None}
使用dict()直接创建字典
# 直接指定键值对创建字典
dic = dict(name='aa', age=23)
print(dic)  # 输出: {'name': 'aa', 'age': 23}
使用zip()创建字典
# 将两个列表组合成键值对,然后转换为字典
dic = dict(zip(key, value))
print(dic)  # 输出: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

访问字典

# 读取字典中的值
print(dic.get('a'), dic['a'])  # 输出: (1, 1)

更新字典

# 在字典中定义其他类型的数据,如列表
dic['a'] = []
dic['a'].append(12)
dic['a'].append(13)

print(dic.get('a'), dic)  # 输出: ([12, 13], {'a': [12, 13], 'b': 2, 'c': 3, 'd': 4, 'e': 5})

遍历字典

print('遍历字典'.center(50, '*'))

# 遍历字典的items()
for item in dic.items():
    print(item)
    
# 或者分别获取键和值
for key, value in dic.items():
    print(key, value)

增加、更新和删除元素

print('增加新元素'.center(50, '*'))

# 使用setdefault()增加新元素,如果键不存在则添加,否则返回该键的值
dic.setdefault('dd', 12)
print(dic)

# 直接赋值更新字典
dic['cc'] = 22
print(dic)

# 使用update()一次性更新多个键值对
dic.update({'dd': 13, 'ee': [11, 22, 33, 44]})
print(dic)

# 删除字典中的键值对
dic.pop('dd')
print(dic)

使用popitem()随机删除键值对

# `popitem()`会随机删除字典中的一个键值对
for _ in range(7):  # 尝试删除7次,但字典可能没有那么多元素
    if dic:
        dic.popitem()
        print(dic)
    else:
        break  # 如果字典已空,停止循环

有序字典(OrderedDict)

print('有序字典'.center(50, '*'))

# 使用collections.OrderedDict保持字典的插入顺序
import collections
dic = collections.OrderedDict([('a', 1), ('b', 2), ('c', 3)])
print(dic)

字典推导式(Dictionary Comprehensions)

# 利用字典推导式快速创建字典
dic = {k: v for k, v in zip(key, value)}
print(dic)

# 字典推导式结合enumerate
dic = {k: v + 1 for v, k in enumerate(key)}
print(dic)

# 按索引创建字典
dic = {key[i]: value[i] for i in range(len(key))}
print(dic)

字典应用示例

# 统计文件夹内文件数量
import os
dic = {}
for name in os.listdir(os.path.join("练习")):
    dic[name] = len(dic.keys())
print(dic)

字典是Python中极其灵活且强大的数据结构,它能高效地处理各种基于键值对的数据需求。希望上述示例能帮助你更好地理解和掌握Python字典的使用技巧。


注意: 上述代码中的文件路径"练习"是一个示例,实际运行时需要替换为你的文件夹路径或确保存在名为"练习"的文件夹在你的脚本目录下。此外,popitem()函数在字典为空时会抛出异常,因此在循环中应检查字典是否为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

燕鹏01

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

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

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

打赏作者

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

抵扣说明:

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

余额充值