📜  Python - 在字典中查找具有特定后缀的键(1)

📅  最后修改于: 2023-12-03 14:45:53.850000             🧑  作者: Mango

Python - 在字典中查找具有特定后缀的键

在处理字典时,有时候我们需要查找特定后缀的键。例如,我们有一个字典存储了若干个文件名,现在需要找到所有以 .txt 结尾的文件名。本文将介绍如何在 Python 中进行这个操作。

方法一:使用列表推导式

可以使用列表推导式来筛选出具有特定后缀的键。

files = {
    'file1.txt': 'content1',
    'file2.jpg': 'content2',
    'file3.txt': 'content3'
}

suffix = '.txt'

result = [k for k in files.keys() if k.endswith(suffix)]

代码解析:

  1. 首先定义了一个 files 字典存储文件名及其内容;
  2. 然后定义了一个 suffix 变量存储需要筛选的后缀;
  3. 最后使用列表推导式遍历字典中的键,筛选出以 suffix 结尾的键,并将它们存储到列表 result 中。
方法二:使用 filter() 函数

也可以使用 filter() 函数来实现与列表推导式类似的功能。代码如下:

files = {
    'file1.txt': 'content1',
    'file2.jpg': 'content2',
    'file3.txt': 'content3'
}

suffix = '.txt'

result = list(filter(lambda k: k.endswith(suffix), files.keys()))

代码解析:

  1. 和方法一一样,首先定义了 files 字典和 suffix 变量;
  2. 调用 filter() 函数对 files.keys() 进行筛选;
  3. 使用 lambda 表达式定义筛选条件,筛选出以 suffix 结尾的键;
  4. 最后使用 list() 函数将筛选结果转换为列表。
总结

本文介绍了两种方法来查找字典中具有特定后缀的键。如果只需要判断字典中是否存在该键,则可以使用 in 运算符,例如 suffix + 'file1.txt' in files。需要注意的是,字典中的键是唯一的,因此如果需要存储多个具有相同后缀的键,可以考虑将它们存储到列表或集合中。