Python - 查找字符串列表中存在的字典键
字典是 Python 中著名的数据类型之一,由键和值对组成。字符串列表是用单引号或双引号表示的元素集。在 Python 中,我们有一些内置函数,例如 keys()、set()、intersection 和 append(),它们将用于查找字符串列表中存在的字典键。
我们来举个例子。
有两个可用的集合:-
给定的字典,{'T': 1, 'M': 2, 'E': 3, 'C': 4
给定的列表,[T, A, B, P, E, L]
因此,最终结果变为 [T, E]。
语法
示例中使用了以下语法
keys()
keys() 是 Python 中的一个内置函数,它返回字典中所有可用键的列表。
set()
set() 是一个内置函数Python 中的函数可用于将多个元素存储到单个变量中。
intersection()
Python 的内置函数 Intersection() 从两个不同的集合中找到共同的匹配项。
append()
append() 是 Python 中的内置函数,用于将元素插入列表末尾。
使用列表推导
在下面的示例中,程序以名为 dict_keys() 的递归函数开始,该函数接受两个参数 - d 和 s,以从给定的输入字典和字符串(即 dict1 和 stng)中获取值。接下来,它将使用列表推导技术,首先将键设置为变量初始化。使用此变量,循环遍历字典,使用 if 语句检查条件,即字符串是否在给定的字典中可用,并返回结果。
示例
def dict_keys(d, s): return [key for key in d if key in s] # 输入字典和字符串列表 dict1 = {'Tablets': 1, 'Mobiles': 2, 'Earbuds': 3, 'Computer': 4} stng = ['Mouse', 'Hard Drive', 'Pen Drive', 'Earbuds', 'Tablets'] # 调用函数 res = dict_keys(dict1, stng) print("字符串列表中字典键的结果:\n", res)
输出
字符串列表中字典键的结果: ['Tablets', 'Earbuds']
使用 Set() 和 Intersection() 函数
在下面的例子中,名为 dict_keys() 的递归函数接受两个参数,即 d 和 s,以查找列表中存在的字典键。接下来,它将使用函数 return 来设置一些内置函数,例如 d.keys(),显示字典的视图对象,而交集则查找两个不同集合之间的共同匹配。最后,这两个函数都设置为内置函数 list() 的参数,该函数将以列表的形式返回结果。
示例
def dict_keys(d, s): return list(set(d.keys()).intersection(s)) # 创建字典和字符串列表 dictionary = {'Television': 1, 'Projector': 2, 'White Board': 3} strings = ['Projector', 'Box', 'Remote'] # 调用函数 res = dict_keys(dictionary, strings) print("字符串列表中字典键的结果:\n", res)
输出
字符串列表中字典键的结果: ['Projector']
使用简单 for 循环
在下面的示例中,名为 dict_keys 的函数中将有两个参数 - d_list 和 s_list,它们将查找字符串列表中存在的字典键。然后使用可用于以列表形式存储结果的空列表,并将其存储在变量 avl_keys 中。接下来,使用 for 循环,变量 k 遍历变量 d_list,即字典列表。使用 if 语句,条件是字符串是否存在于给定的输入字典中。然后使用内置方法 append() 查找字典键并返回给变量 avl_keys 并生成结果。
示例
def dict_keys(d_list, s_list): avl_keys = [] for k in d_list: if k in s_list: avl_keys.append(k) return avl_keys # 创建字典和字符串列表 dict1 = {'A': 11, 'B': 12, 'C': 13, 'D': 14, 'E': 15, 'F': 16} stng = ['M', 'N', 'O', 'E', 'G', 'A', 'C', 'P', 'Q', 'R'] # 调用函数 res = dict_keys(dict1, stng) print("字符串列表中字典键的结果:\n", res)
输出
字符串列表中字典键的结果: ['A', 'C', 'E']
使用 filter 函数
在下面的例子中,我们将开始该程序使用一个递归函数,该函数接受两个参数 d 和 s,用于从变量 dcn 和 stng 接收字典和字符串的原始输入。接下来,它将使用函数 return,该函数使用一些内置函数 lambda- 计算程序的主要操作,filter()- 获取字典中存在的值,以及 list()- 将结果格式化为列表形式。最后,这样它就会生成程序的输出。
示例
def dict_keys(d, s): return list(filter(lambda k: k in s, d)) # 创建字典和字符串列表 dcn = {'abc': 10, 'bcd': 20, 'mno': 30, 'xyz': 40, 'pqr': 50} stng = ['ab', 'mno', 'bcs', 'xy'] # 调用函数 res = dict_keys(dcn, stng) print("字符串列表中字典键的结果:\n", res)
输出
字典键的结果存在于字符串列表中: ['mno']
结论
在每个示例中,字典和字符串用于设置程序的原始输入,其中设置了操作,即字符串列表中的键。有各种内置函数可用,例如 filter()、set()、keys() 等,以满足特殊需求。