1# dict comprehension we use same logic, with a difference of key:value pair
2# {key:value for i in list}
3
4fruits = ["apple", "banana", "cherry"]
5print({f: len(f) for f in fruits})
6
7#output
8{'apple': 5, 'banana': 6, 'cherry': 6}
1dict1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
2# Double each value in the dictionary
3double_dict1 = {k:v*2 for (k,v) in dict1.items()}
4# double_dict1 = {'e': 10, 'a': 2, 'c': 6, 'b': 4, 'd': 8} <-- new dict
1# Dictionary Comprehension Types
2
3{j:j*2 for i in range(10)}
4
5#using if
6{j:j*2 for j in range(10) if j%2==0}
7
8#using if and
9{j:j*2 for j in range(10) if j%2==0 and j%3==0}
10
11#using if else
12{j:(j*2 if j%2==0 and j%3==0 else 'invalid' )for j in range(10) }