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()函数在字典为空时会抛出异常,因此在循环中应检查字典是否为空。

相关推荐

  1. Python字典基础高级详解

    2024-07-16 22:30:04       20 阅读
  2. Python列表基础高级应用详解

    2024-07-16 22:30:04       24 阅读
  3. Python 字典(Dict)详解实战应用

    2024-07-16 22:30:04       22 阅读
  4. Python基础dict字典定义函数

    2024-07-16 22:30:04       56 阅读
  5. Python基础总结之字典元素的删除方法详解

    2024-07-16 22:30:04       24 阅读
  6. Python-字典详解

    2024-07-16 22:30:04       53 阅读
  7. Python高级数据结构——字典树(Trie)

    2024-07-16 22:30:04       61 阅读
  8. Python:字典(Dictionary)基础应用

    2024-07-16 22:30:04       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 22:30:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 22:30:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 22:30:04       58 阅读
  4. Python语言-面向对象

    2024-07-16 22:30:04       69 阅读

热门阅读

  1. 代码随想录打卡第二十五天

    2024-07-16 22:30:04       21 阅读
  2. [笔试题] C语言部分练习2

    2024-07-16 22:30:04       17 阅读
  3. Mysql关闭严格模式

    2024-07-16 22:30:04       18 阅读
  4. OTP的变化时间

    2024-07-16 22:30:04       19 阅读