Python - 在字典中查找具有特定后缀的键
键的后缀是单词末尾提到的一组字母。在此问题陈述中,我们需要创建特定变量来设置后缀键,以使用某些特定条件过滤结果。在 Python 中,我们有一些内置函数,例如 endswith()、filter()、lambda、append() 和 items(),它们将用于在字典中查找具有特定后缀的键。
让我们举个例子。
给定的字典,
my_dict = {'compiler': 100, 'interpreter': 200, 'cooperative': 300, 'cloudbox': 400, 'database': 500
后缀键设置为 er,
因此,最终输出变为 {'compiler': 100, 'interpreter': 20
语法
示例中使用了以下语法
endswith()
这是 Python 中使用的预定义方法,如果字符串以给定值结尾,则返回 true,否则返回 false。
filter()
当我们需要根据特定条件过滤项目时,将应用 filter() 方法。简单来说,它允许迭代提取的满足条件的元素。
lambda
lambda 函数提供了一种使用 lambda 关键字声明简短匿名函数的快捷方式。 lambda 函数只有一个表达式。
append()
append() 是 Python 中的一个内置函数,用于将元素插入到列表末尾。
items()
这是一个内置方法,可用于返回视图对象。该对象由一个键和值对组成。
使用列表理解
在下面的示例中,程序使用列表理解技术,其中变量 key 遍历输入字典,并使用 if 语句在内置函数 endwith() 的帮助下为具有特定后缀的 key 设置条件以显示结果。
示例
def key_suffix(dict, suffix): return [key for key in dict if key.endswith(suffix)] # 创建字典 my_dict = {"dropbox": 1, "box": 2, "chat": 3, "mail": 4} sfx = "ox" # 调用函数 res = key_suffix(my_dict, sfx) # 显示结果 print("Keys with suffix","[", sfx, "]", ":\n", res)
输出
Keys with suffix [ ox ] : ['dropbox', 'box']
使用 filter() 函数
在下面的例子中,程序使用一个名为 key_suffix 的递归函数,该函数接受两个参数 - dict 和 suffix 来接收输入字典和后缀值。然后使用一些内置函数-filter()[过滤给定的后缀元素以获得结果],lambda[使用内置函数endswith()计算后缀运算],最后它将使用内置函数list()以列表的形式获取后缀值以获得结果。
示例
def key_suffix(dict, suffix): return list(filter(lambda key: key.endswith(suffix), dict)) # 创建列表 my_dict = {"Evergreen": 1, "Beautiful": 2, "Fruitful": 3, "Golden": 4, "Brass": 5} sfx = "ful" # 调用函数 res = key_suffix(my_dict, sfx) # 显示显示 print("Keys with suffix","[", sfx, "]", ":\n", res)
输出
Keys with suffix [ ful ] : ['Beautiful', 'Fruitful']
使用循环和条件语句
在下面的例子中,程序使用递归函数在函数返回期间设置以列表形式存储结果的空列表。然后使用 for 循环迭代程序的输入字典,并使用 if 语句使用内置函数 endswith() 和 append() 设置具有特定后缀的键的条件。接下来,它将实现函数 return 以获取特定后缀作为结果。
示例
def key_suffix(dict, suffix): keys_with_suffix = [] # 设置特定后缀的操作和迭代条件 for key in dict: if key.endswith(suffix): keys_with_suffix.append(key) return keys_with_suffix # 创建字典 my_dict = {"apple": 1, "banana": 2, "cherry": 3, "orange": 4, "Grapes": 5} sfx = "y" # 调用函数 res = key_suffix(my_dict, sfx) print("Keys with suffix","[", sfx, "]", ":\n", res)
输出
Keys with suffix [ y ] : ['cherry']
字典推导式
在下面的例子中,我们将使用字典推导式,其中第一个参数设置为键和值对。使用 items() 检查视图对象是否在字典中,并应用 if 语句,通过使用内置函数 endswith() 设置键的条件,该函数指定具有特定后缀的键并生成结果。
示例
def key_suffix(dict, suffix): return {key: value for key, value in dict.items() if key.endswith(suffix)} # 创建字典 my_dict = {"Anonyms": 1, "Synonyms": 2, "Metaphor": 3, "Irony": 4} sfx = "ms" # 调用函数 res = key_suffix(my_dict, sfx) print("Keys with suffix","[", sfx, "]", ":\n", res)
输出
Keys with suffix [ ms ] : {'Anonyms': 1, 'Synonyms': 2}
结论
我们知道字典中带有特定后缀的特定键是那些以字符串形式表示并以整数形式指定值的键。曾使用过一些方法(例如字典理解、列表理解、filter() 和条件语句)来解决该问题陈述。这种类型的程序通常用于各种应用,例如数据分析、数据过滤、搜索算法的逻辑构建等。