How to filter a dictionary by condition in Python

3 Answers

0 votes
dic = {5 : 'python', 8: 'java', 12: 'c', 19: 'c++', 18 : 'c#'}
  
filtered_dic = dict()

for (key, value) in dic.items():
   if key % 2 != 0:
       filtered_dic[key] = value
 
print(filtered_dic)
  
  
  
'''
run:
  
{5: 'python', 19: 'c++'}
  
'''

 



answered Jan 29, 2020 by avibootz
edited Jan 29, 2020 by avibootz
0 votes
def filter_dic(dic, callback):
    filtered_dic = dict()
    for (key, value) in dic.items():
        if callback((key, value)):
            filtered_dic[key] = value
    return filtered_dic

dic = {5 : 'python', 8: 'java', 12: 'c', 19: 'c++', 18 : 'c#'}
  
filtered_dic = filter_dic(dic, lambda element : element[0] % 2 != 0)

 
print(filtered_dic)
  
  
  
'''
run:
  
{5: 'python', 19: 'c++'}
  
'''

 



answered Jan 29, 2020 by avibootz
edited Jan 29, 2020 by avibootz
0 votes
dic = {5 : 'python', 8: 'java', 12: 'c', 19: 'c++', 18 : 'c#'}
  
filtered_dic = dict(filter(lambda element: element[0] % 2 != 0, dic.items()))

 
print(filtered_dic)
  
  
  
'''
run:
  
{5: 'python', 19: 'c++'}
  
'''

 



answered Jan 29, 2020 by avibootz
edited Jan 29, 2020 by avibootz

Related questions

...