-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathchallenge.py
More file actions
132 lines (116 loc) · 3.2 KB
/
challenge.py
File metadata and controls
132 lines (116 loc) · 3.2 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
DATA = [
{
'name': 'Facundo',
'age': 72,
'organization': 'Platzi',
'position': 'Technical Mentor',
'language': 'python',
},
{
'name': 'Luisana',
'age': 33,
'organization': 'Globant',
'position': 'UX Designer',
'language': 'javascript',
},
{
'name': 'Héctor',
'age': 19,
'organization': 'Platzi',
'position': 'Associate',
'language': 'ruby',
},
{
'name': 'Gabriel',
'age': 20,
'organization': 'Platzi',
'position': 'Associate',
'language': 'javascript',
},
{
'name': 'Mariandrea',
'age': 30,
'organization': 'Platzi',
'position': 'QA Manager',
'language': 'java',
},
{
'name': 'Karo',
'age': 23,
'organization': 'Everis',
'position': 'Backend Developer',
'language': 'python',
},
{
'name': 'Ariel',
'age': 32,
'organization': 'Rappi',
'position': 'Support',
'language': '',
},
{
'name': 'Juan',
'age': 17,
'organization': '',
'position': 'Student',
'language': 'go',
},
{
'name': 'Pablo',
'age': 32,
'organization': 'Master',
'position': 'Human Resources Manager',
'language': 'python',
},
{
'name': 'Lorena',
'age': 56,
'organization': 'Python Organization',
'position': 'Language Maker',
'language': 'python',
},
]
def homeless_key(worker_dict):
worker = worker_dict.copy()
if worker['organization'] == '':
worker['homeless'] = True
else:
worker['homeless'] = False
return worker
def old_key(worker_dict):
worker = worker_dict.copy()
if worker['age'] > 30:
worker['old'] = True
else:
worker['old'] = False
return worker
def run():
# Using filter, generate a list with all the python devs
all_python_devs = list(filter(lambda x: x['language'] == 'python', DATA))
# Using filter, generate a list with all the Platzi workers
all_Platzi_workers = list(filter(lambda x: x['organization'] == 'Platzi', DATA))
# Using filter, generate a list with all people over 18 years old
adults = list(filter(lambda x: x['age'] >= 18, DATA))
# Using map, generate a new list of people with a key 'homeless' with True or False values, if 'organization' have something or not
workers = list(map(lambda x: homeless_key(x), DATA))
# Using map, generate a new list of people with a key 'old' with True or False values, if 'age' is greater than 30 or not
old_people = list(map(lambda x: old_key(x), DATA))
print('Python devs: ')
for dev in all_python_devs:
print(dev['name'])
print('\n\n')
print('Platzi workers: ')
for worker in all_Platzi_workers:
print(worker['name'])
print('\n\n')
print('Adults: ')
for adult in adults:
print(adult['name'])
print('\n\n')
print(workers)
print('\n\n')
print(old_people)
print('\n\n')
# Remember: when possible, use lambdas
if __name__ == '__main__':
run()