Skip to content
Related Articles

Related Articles

Improve Article

Python program to check if any key has all the given list elements

  • Last Updated : 09 May, 2021

Given a dictionary with list values and a list, the task is to write a Python program to check if any key has all the list elements.

Examples:

Input : test_dict = {‘Gfg’ : [5, 3, 1, 6, 4], ‘is’ : [8, 2, 1, 6, 4], ‘best’ : [1, 2, 7, 3, 9], ‘for’ : [5, 2, 7, 8, 4, 1], ‘all’ : [8, 5, 3, 1, 2]}, find_list = [7, 9, 2]

Output : True

Explanation : best has all values, 7, 9, 2 hence 2 is returned.



Input : test_dict = {‘Gfg’ : [5, 3, 1, 6, 4], ‘is’ : [8, 2, 1, 6, 4], ‘best’ : [1, 2, 7, 3, 19], ‘for’ : [5, 2, 7, 8, 4, 1], ‘all’ : [8, 5, 3, 1, 2]}, find_list = [7, 9, 2]

Output : False

Explanation : No list has all values as find list.

Method #1 : Using issuperset() + loop

In this, we perform the task of finding the presence of all elements in the values list using issuperset(), and a loop is used to iterate all the keys.

Python3




# Python3 code to demonstrate working of
# Extract values of Particular Key in
# Nested Values Using list comprehension
  
# initializing dictionary
test_dict = {'Gfg': [5, 3, 1, 6, 4], 
             'is': [8, 2, 1, 6, 4], 
             'best': [1, 2, 7, 3, 9],
             'for': [5, 2, 7, 8, 4, 1], 
             'all': [8, 5, 3, 1, 2]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing list
find_list = [7, 9, 2]
  
res = False
for key in test_dict:
  
    # checking if all values present using 
    # superset
    if set(test_dict[key]).issuperset(find_list):
        res = True
  
# printing result
print("Is any value list superset ? : " + str(res))

Output:

The original dictionary is : {‘Gfg’: [5, 3, 1, 6, 4], ‘is’: [8, 2, 1, 6, 4], ‘best’: [1, 2, 7, 3, 9], ‘for’: [5, 2, 7, 8, 4, 1], ‘all’: [8, 5, 3, 1, 2]}

Is any value list superset ? : True



Method #2 : Using any() + issuperset()

In this, we perform the task of checking for all keys using any(). Rest all functions are similar to the above method.

Python3




# Python3 code to demonstrate working of
# Extract values of Particular Key in
# Nested Values Using any() + issuperset()
  
# initializing dictionary
test_dict = {'Gfg': [5, 3, 1, 6, 4],
             'is': [8, 2, 1, 6, 4],
             'best': [1, 2, 7, 3, 9],
             'for': [5, 2, 7, 8, 4, 1],
             'all': [8, 5, 3, 1, 2]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing list
find_list = [7, 9, 2]
  
res = any(set(sub).issuperset(find_list) 
          for sub in test_dict.values())
  
# printing result
print("Is any value list superset ? : " + str(res))

Output:

The original dictionary is : {‘Gfg’: [5, 3, 1, 6, 4], ‘is’: [8, 2, 1, 6, 4], ‘best’: [1, 2, 7, 3, 9], ‘for’: [5, 2, 7, 8, 4, 1], ‘all’: [8, 5, 3, 1, 2]}

Is any value list superset ? : True

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :