From 802e40b7be6cfc0895064da41daf06e455767a4e Mon Sep 17 00:00:00 2001 From: Ricardo Estrada Date: Mon, 22 Jun 2020 21:27:21 -0500 Subject: [PATCH 1/3] Challenge Acomplished --- challenge.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/challenge.py b/challenge.py index 93a85f8..5b6a9d8 100644 --- a/challenge.py +++ b/challenge.py @@ -1,3 +1,5 @@ +from copy import deepcopy + DATA = [ { 'name': 'Facundo', @@ -71,14 +73,33 @@ }, ] +def worker_homeless(worker): + if worker['organization'] == '': + worker['homeless'] = True + return worker + else: + worker['homeless'] = False + return worker + + +def worker_old(worker): + if worker['age'] > 30: + worker['old'] = True + return worker + else: + worker['old'] = False + return worker def run(): + - all_python_devs = # Using filter, generate a list with all the python devs - all_Platzi_workers = # Using filter, generate a list with all the Platzi workers - adults = # Using filter, generate a list with all people over 18 years old - workers = # Using map, generate a new list of people with a key 'homeless' with True or False values, if 'organization' have something or not - old_people = # 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 + + all_python_devs = filter( lambda x : x['language'] == 'python', DATA) # Using filter, generate a list with all the python devs + all_Platzi_workers = filter( lambda x : x['organization'] == 'Platzi', DATA) # Using filter, generate a list with all the Platzi workers + adults = filter( lambda x: x['age']> 18, DATA)# Using filter, generate a list with all people over 18 years old + workers = list(map(worker_homeless, deepcopy(DATA))) # Using map, generate a new list of people with a key 'homeless' with True or False values, if 'organization' have something or not + old_people = list(map(worker_old, deepcopy(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 print('Python devs: ') for dev in all_python_devs: @@ -104,5 +125,6 @@ def run(): # Remember: when possible, use lambdas + if __name__ == '__main__': run() From 12d775ebf92923d53be182b01244ace2767427d9 Mon Sep 17 00:00:00 2001 From: Ricardo Estrada Date: Mon, 22 Jun 2020 21:37:50 -0500 Subject: [PATCH 2/3] Solved with **kwargs --- challenge.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/challenge.py b/challenge.py index 5b6a9d8..996f8d8 100644 --- a/challenge.py +++ b/challenge.py @@ -74,21 +74,15 @@ ] def worker_homeless(worker): - if worker['organization'] == '': - worker['homeless'] = True - return worker - else: - worker['homeless'] = False - return worker + worker['homeless'] = worker['organization']== '' + return worker + def worker_old(worker): - if worker['age'] > 30: - worker['old'] = True - return worker - else: - worker['old'] = False - return worker + worker['old'] = worker['age'] > 30 + return worker + def run(): @@ -97,8 +91,8 @@ def run(): all_python_devs = filter( lambda x : x['language'] == 'python', DATA) # Using filter, generate a list with all the python devs all_Platzi_workers = filter( lambda x : x['organization'] == 'Platzi', DATA) # Using filter, generate a list with all the Platzi workers adults = filter( lambda x: x['age']> 18, DATA)# Using filter, generate a list with all people over 18 years old - workers = list(map(worker_homeless, deepcopy(DATA))) # Using map, generate a new list of people with a key 'homeless' with True or False values, if 'organization' have something or not - old_people = list(map(worker_old, deepcopy(DATA))) + workers = list(map(lambda x: dict(x, **{'Homeless':True}) if x['organization'] == '' else dict(x, **{'Homeless':False}), DATA)) + old_people = list(map(lambda x: dict(x, **{'old':True}) if x['age'] > 30 else dict(x, **{'Old':False}), 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 print('Python devs: ') From 05355465feda3c9c0f13e15b61096027c7d2f15d Mon Sep 17 00:00:00 2001 From: Ricardo Estrada Date: Mon, 22 Jun 2020 21:42:17 -0500 Subject: [PATCH 3/3] Reduce the lambda function --- challenge.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge.py b/challenge.py index 996f8d8..8c73d3a 100644 --- a/challenge.py +++ b/challenge.py @@ -91,7 +91,7 @@ def run(): all_python_devs = filter( lambda x : x['language'] == 'python', DATA) # Using filter, generate a list with all the python devs all_Platzi_workers = filter( lambda x : x['organization'] == 'Platzi', DATA) # Using filter, generate a list with all the Platzi workers adults = filter( lambda x: x['age']> 18, DATA)# Using filter, generate a list with all people over 18 years old - workers = list(map(lambda x: dict(x, **{'Homeless':True}) if x['organization'] == '' else dict(x, **{'Homeless':False}), DATA)) + workers = list(map(lambda x: dict(x, **{'Homeless': x['organization'] == ''}), DATA)) old_people = list(map(lambda x: dict(x, **{'old':True}) if x['age'] > 30 else dict(x, **{'Old':False}), 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