반응형
ex = [1,2,3,4,5]
f = lambda x : x **2
result = map(f, ex) #for문 리스트 컴프레션
print("Map result1=", result)
print("Map result2=", list(result))
[출력]
같은 예
# list comprehension
multiples = [n ** 2 for n in ex]
print("Map result2=", list(multiples))
[출력]
조건
# filtering
result4 = map(lambda x: x ** 2 if x % 2 == 0 else x, ex)
print("Map result4=", list(result4))
result5 = [x ** 2 if x % 2 == 0 else x for x in ex]
print("Map result5=", list(result5))
[출력]
Reduce
# reduce
from functools import reduce
result6 = reduce(lambda x, y: x+y, ex) #1,2더한값을 x에 누적 그다음y는 3 더하면 6
print("Reduce reuslt6=", result6)
#다른예
x = 0
for y in ex:
x += y
print("result6=", x)
[출력]
최댓값 구하기
# 최댓값 구하기
mydata = [-2,-3,-5,6]
# 1) function
def my_max(data):
value = 0
for e in data:
if value < e:
value = e
return value
print("MAX1=", my_max(mydata))
#2) reduce
mymax2 = reduce(lambda a,b : a if a > b else b, mydata) #리듀스는 2개의 데이터를 추려서 한개의 값에 넣음 a,b : a
print(mymax2)
[출력]
반응형