-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
dict_comprehensions.py
54 lines (40 loc) · 1.24 KB
/
dict_comprehensions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Python Dictionary Comprehensions
# (c) Joe James 2023
# 1. math function to compute values using list
dict1 = {x: 2*x for x in [0, 2, 4, 6]}
print ('1. ', dict1)
# 2. math function to compute values using range
dict2 = {x: x**2 for x in range(0, 7, 2)}
print ('2. ', dict2)
# 3. from chars in a string
dict3 = {x: ord(x) for x in 'Kumar'}
print ('3. ', dict3)
# 4. given lists of keys & values
x = ['Aditii', 'Brandon', 'Clumley', 'Magomed', 'Rishi']
y = [1, 2, 3, 13, 18]
dict4 = {i: j for (i,j) in zip(x,y)}
print ('4. ', dict4)
# 5. from chars in a string
x = "python"
dict5 = {i: 3*i.upper() for i in x}
print('5. ', dict5)
# 6. list comprehension for the value
x = [2, 4, 6, 8]
y = [5, 10, 15, 20]
dict6 = {i: [i + 2*j for j in y] for i in x}
print('6. ', dict6)
#7. using items
x = {'A':10, 'B':20, 'C':30}
dict7 = {i: j*2 for (i,j) in x.items()}
print('7. ', dict7)
# 8. conditional comprehension
dict8 = {i: i**3 for i in range(10) if i%2 == 0}
print('8. ', dict8)
# 9. if-else conditional comprehension
x = {'A':10, 'B':20, 'C':30}
dict9 = {i: (j if j < 15 else j+100) for (i,j) in x.items()}
print('9. ', dict9)
# 10. transformation from an existing dict
x = {'A':10, 'B':20, 'C':30}
dict10 = {i: x[i]+1 for i in x}
print('10. ', dict10)