40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
#!/usr/bin/env python3
|
|
|
|
def square(x: int) -> int:
|
|
return x ** 2
|
|
|
|
# Main function
|
|
def main() -> None:
|
|
"""
|
|
lambda: a one-liner anonymous function. in its simplest form, it just a function.
|
|
for example, the following can be rewritten with a add_1 function which returns x + 1
|
|
"""
|
|
add_1 = lambda x: x + 1
|
|
result = add_1(1)
|
|
print(result)
|
|
|
|
"""
|
|
map function: apply a function to every element in an iterable
|
|
returns a map object which can then be casted to a list
|
|
"""
|
|
numbers = range(1,10)
|
|
# square is the function and numbers is the iterable where elements will be sent from
|
|
results = list(map(square, numbers))
|
|
print(results)
|
|
|
|
"""
|
|
implement the same map function with lambda
|
|
"""
|
|
results2 = list(map(lambda x: x ** 2, numbers))
|
|
print(results2)
|
|
|
|
"""
|
|
filter function: apply function to every element. if true, keep the element. if false, reject it
|
|
"""
|
|
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
|
|
print(even_numbers)
|
|
|
|
# Call main function
|
|
if __name__ == '__main__':
|
|
main()
|