Python字典获取键值对的两种常用方法

阿澈
阿澈
发布时间:2026-10-15 | 5人浏览过
原创

本文介绍Python中获取字典关键字与值的两种主要方式。通过values()方法可直接提取所有值,而items()方法则返回键值对元组。文章还对比了使用普通字典与defaultdict构建键值列表的两种代码实现,展示了从文件列表生成分类字典的实际应用案例。

在Python编程中,处理字典(dict)数据结构时,经常需要提取其中的关键字(key)与对应的值(value)。掌握高效的获取方式对于数据清洗和逻辑处理至关重要。

若仅需获取字典中所有的值,可以使用values()方法。该方法返回一个视图对象,包含字典中所有的值。

>>> d
{'p': 34, 'l': 54, 'b': 88}
>>> for value in d.values():
...     print(value)
...
34
54
88

若需同时获取关键字和对应的值,应使用items()方法。该方法返回键值对的元组序列,便于遍历处理。

>>> for key,value in d.items():
...     print(key,value)
...
p 34
l 54
b 88

当字典的值本身为列表(list)时,构建此类字典是常见的数据处理场景,例如根据文件前缀分类存储文件路径。

第一种实现方式是利用普通字典手动管理列表的创建与追加。

具体代码逻辑如下:初始化空字典pages和空列表page。遍历指定目录下的所有图片文件名,提取前两个字符作为前缀字符串。检查该前缀是否已存在于字典中,若不存在则创建新列表并加入当前文件路径;若存在,则直接将文件路径追加至现有列表中。最后打印生成的字典。

    # method 1
    pages = {}
    page = []
    for img_name in os.listdir(args.image_dir):
        pre_str = img_name[:2]
        #print(pre_str)
        if pre_str not in pages.keys():
            tmp_list = []
            tmp_list.append(os.path.join(args.image_dir, img_name))
            pages[pre_str] = tmp_list
        else:
            pages[pre_str].append(os.path.join(args.image_dir, img_name))

    print(pages)

执行上述代码后,控制台将输出构建好的字典结构,显示每个前缀对应的文件路径列表。

第二种实现方式利用collections模块中的defaultdict,简化了字典初始化的逻辑。

代码实现上,首先导入defaultdict并初始化pages字典,指定默认值为list类型。随后遍历目录下的图片文件名,提取前缀字符串。由于defaultdict的特性,无需判断前缀是否存在,直接调用append方法将文件路径加入对应前键值的列表中。最后打印字典的items视图及字典本身。

    # method 2
    from collections import defaultdict
    pages = defaultdict(list)
    for img_name in os.listdir(args.image_dir):
        pre_str = img_name[:2]
        #print(pre_str)
        pages[pre_str].append(os.path.join(args.image_dir, img_name))

    print(list(pages.items()))
    print(pages)

调用print(list(pages.items()))将输出字典中所有键值对的列表形式,清晰展示每个前缀对应的文件路径集合。

直接打印pages变量将输出标准的字典格式,直观反映数据结构。

以上介绍了Python中获取字典键值对的常用技巧及两种构建含列表值字典的代码示例,希望能为大家提供实用的参考。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表