Python Dictionary Comprehension
Rushikesh J.
Software Test Engineer @Vinz Global | Robot Framework | Manual Testing, Automation Testing | Python | Selenium | GIT | JIRA | Immediate Joiner | API Testing Using Postman | Jenkins
What is Comprehension
?We create a sequence from a given sequence is called comprehension
?Sequence means list, tuple, string and range
?Some sequence allow comprehension but some not
?As tuple did not allow comprehension as we do in list
?We can create dictionary from another dictionary or sequence
Why need of Comprehension
?Filtering & Searching
?Fastest way
?One line of code
?Simplicity
Python Dictionary Comprehension
Using dictionary comprehension, we can create another dictionary from existing dictionary or existing sequence on the basis of some conditions.
Understand
Example: dict = {'a': 4, 'b': 1, 'c': 6, 'd': 2, 'e': 3}
Syntax:
dict_var = {key:value for (key,value) in dictonary.items()/sequence}
Example
dict = {'a': 4, 'b': 1, 'c': 6, 'd': 2, 'e': 3}
new_dict = {k:v*3 for (k,v) in dict.items()}
print(new_dict)
Python Dictionary Comprehension Syntax
newDict = [key:value for (key, value) in dictionary.items/sequence]
newDict = [key:value for (key, value) in dictionary.items/sequence if statement]
newDict = [key:value if statement else statement for (key, value) in dictionary.items/sequence]
newDict = [key:value for (key, value) in dictionary.items/sequence nested if statement]
Python Dictionary Comprehension Examples
Examples 1:
dict = {'a': 4, 'b': 1, 'c': 6, 'd': 2, 'e': 3}
new_dict = {k:v*5 for (k,v) in dict.items()}
Example? 2:
new_dict = {k:v for (k,v) in dict.items() if ‘a’ in k}
Example? 3:
dict = {'a': 3 'b': 12, 'c': 6, 'd': 10, 'e': 15, 'f': 9}
new_dict = {k: (‘even' if v % 2 == 0 else ‘odd')? for (k,v) in dict.items()}
Example? 4:
dict = {'a': 20 'b': 12, 'c': 6, 'd': 10, 'e': 15, 'f': 9}
new_dict = {k:v? for (k,v) in dict.items() if v%2 == 0 if v%3 ==0}