Skip to content

Instantly share code, notes, and snippets.

@barce
Created May 25, 2017 16:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barce/3c86caa17e9e6474fc5866dbac278e09 to your computer and use it in GitHub Desktop.
Save barce/3c86caa17e9e6474fc5866dbac278e09 to your computer and use it in GitHub Desktop.
Using a dict as a switch in Python
def dispatch_if(operator, x, y):
if operator == 'add':
return x + y
elif operator == 'sub':
return x - y
elif operator == 'mul':
return x * y
elif operator == 'div':
return x / y
else:
return None
def dispatch_dict(operator, x, y):
return {
'add': lambda: x + y,
'sub': lambda: x - y,
'mul': lambda: x * y,
'div': lambda: x / y,
}.get(operator, lambda: None)()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment