In [5]:
def sum(*args):
total = 0
for arg in args:
total += arg
return total
In [6]:
sum(1,2,3,4)
Out[6]:
In [7]:
def greeting(name, why, course):
print("{name} | {course} | {why}".format(name = name, course = course, why=why))
In [8]:
values = ("jy", "DataScientist", "study")
In [9]:
# unpack / unpacking
greeting(*values)
In [ ]:
# unnamed -> *args (tuple)
# named -> **kwargs (dict)
In [10]:
def information(**kwargs):
for key, value in kwargs.items():
print ("(key) -> (value)".format(key = key, value = value))
In [13]:
information = {"name" : "jy", "email" : "jiyong@"}
In [14]:
print information
In [28]:
# Lambda
In [30]:
increment_lambda = lambda x : x+1
In [32]:
increment_lambda(23)
Out[32]:
In [35]:
(lambda x,y : x+y)(1,2)
Out[35]:
In [ ]:
# [ 1, 2, 3] -> [1, 4, 9]
In [36]:
def change(numbers):
list = []
for number in numbers:
list.append(number**2)
return list
In [37]:
change([1,2,3])
Out[37]:
In [38]:
def square(x):
return x**2
In [39]:
list(map(square, [1,2,3]))
Out[39]:
In [40]:
list(map(lambda x: x**2, [1,2,3,4]))
Out[40]:
In [43]:
map(lambda x : x**2, [1,2,3,4])
Out[43]:
In [44]:
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
In [48]:
list(filter(lambda x : x>5, numbers))
Out[48]:
In [ ]:
# map -> 모든 elements -> 새로운 List
# filter -> 모든 elements => True인 Element 만 새로운 List
In [ ]:
# Reduce -> 줄이고, 하나만 남기는
In [50]:
functools.reduce(lambda x,y : x+y, [10, 20, 30, 40])
Out[50]:
In [53]:
def max(numbers):
max_number = numbers[0]
for number in numbers:
if number > max_number:
max_number = number
return max_number
In [54]:
max([1,14,7,8,4])
Out[54]:
In [69]:
reduce(lambda x,y : x if x<y else y, [1,14,7,8,4])
Out[69]:
In [70]:
awesome_list = [1,2, "jy", {}, [], 4,5]
In [76]:
list(map(lambda x : x**2, list(filter(lambda x: isinstance(x, int), awesome_list))))
Out[76]:
In [81]:
# 1 - 100 까지 숫자 중에서 짝수
[i **2 for i in range(1, 101) if i%2 == 0]
Out[81]:
In [92]:
MAX = 1000
not_prime_list = [
j
for i in range(2, int(MAX **0.5)+1)
for j in range(i**2, MAX, i)
]
prime_list = [
i
for i in range(2, MAX +1)
if i not in not_prime_list
]
prime_list
Out[92]: