Python - 查找字符串列表中存在的字典键

pythonserver side programmingprogramming更新于 2023/12/29 18:12:00

字典是 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() 等,以满足特殊需求。


相关文章