📜  Python - 字典中的测试记录存在

📅  最后修改于: 2022-05-13 01:55:44.512000             🧑  作者: Mango

Python - 字典中的测试记录存在

有时在使用记录池时,我们可能会遇到需要检查键的特定值是否存在的问题。这可以应用于许多领域,例如日常编程或 Web 开发。让我们讨论可以执行此任务的某些方式。
方法 #1:使用 any() + 生成器表达式
上述功能的组合可用于执行此任务。在此,我们简单地使用 any() 测试所有元素,并使用生成器表达式进行迭代。

Python3
# Python3 code to demonstrate working of
# Test Record existence in Dictionary
# Using any() + generator expression
 
# initializing list
test_list = [{ 'name' : 'Nikhil', 'age' : 22},
             { 'name' : 'Akshat', 'age' : 23},
             { 'name' : 'Akash', 'age' : 23}]
 
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing key and value
test_key = 'name'
test_val = 'Nikhil'
 
# Test Record existence in Dictionary
# Using any() + generator expression
res = any(sub[test_key] == test_val for sub in test_list)
 
# printing result
print("Does key value contain in dictionary list : " + str(res))


Python3
# Python3 code to demonstrate working of
# Test Record existence in Dictionary
# Using filter() + lambda
 
# initializing list
test_list = [{ 'name' : 'Nikhil', 'age' : 22},
             { 'name' : 'Akshat', 'age' : 23},
             { 'name' : 'Akash', 'age' : 23}]
 
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing key and value
test_key = 'name'
test_val = 'Nikhil'
 
# Test Record existence in Dictionary
# Using filter() + lambda
res = filter(lambda sub: test_val in sub.values(), test_list)
if len(list(res)):
    res = True
else :
    res = False
 
# printing result
print("Does key value contain in dictionary list : " + str(res))


输出 :

原始列表是: [{'name': 'Nikhil', 'age': 22}, {'name': 'Akshat', 'age': 23}, {'name': 'Akash', 'age' : 23}]
键值是否包含在字典列表中:True


方法 #2:使用 filter() + lambda
上述功能的组合可用于执行此任务。在此,我们使用过滤器检查所有值,并使用 lambda函数进行迭代。

Python3

# Python3 code to demonstrate working of
# Test Record existence in Dictionary
# Using filter() + lambda
 
# initializing list
test_list = [{ 'name' : 'Nikhil', 'age' : 22},
             { 'name' : 'Akshat', 'age' : 23},
             { 'name' : 'Akash', 'age' : 23}]
 
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing key and value
test_key = 'name'
test_val = 'Nikhil'
 
# Test Record existence in Dictionary
# Using filter() + lambda
res = filter(lambda sub: test_val in sub.values(), test_list)
if len(list(res)):
    res = True
else :
    res = False
 
# printing result
print("Does key value contain in dictionary list : " + str(res))
输出 :

原始列表是: [{'name': 'Nikhil', 'age': 22}, {'name': 'Akshat', 'age': 23}, {'name': 'Akash', 'age' : 23}]
键值是否包含在字典列表中:True