Python2에서 왜 Python3로 넘어가지 못하는 사람들이 존재하는가? 에 대한 의문이 오늘에서야 풀렸다.
Python3가 정교해진 탓에 기능을 나누다보니 Python2로 당연하게 지원되는 기능들이 변화하였다.
정리하자면 str형과 int형을 구분해줘야 map, filter 함수들이 pirnt에서 사용이 되고 reduce는 import를 해줘야 한다.
긴 설명은 필요없고 예제로 한방에 정리.
#lambda+list
func=[lambda x, y: x+y, lambda x,y:x-y, lambda x,y:x*y, lambda x,y:x/y] #list
def menu():
print("0. add")
print("1. sub")
print("2. mul")
print("3. div")
print("4. quit")
return int(input('Select menu : ')) #python2에서는 int를 사용하지 않는다.
while 1: #Unlimit roop
sel = menu()
if sel > len(func) or sel < 0 :
continue
if sel == len(func):
break
x=int(input('First operand : ')) #python2에서는 int를 사용하지 않는다.
y=int(input('Second operand : ')) #python2에서는 int를 사용하지 않는다.
print('Result = ', func[sel](x,y))
#map 함수
X=[1,2,3,4,5]
print(list(map(lambda x:x*x,X)))
#Fileter 함수
print(list(filter(lambda x: x>2, [1,2,3,34]))) #lambda 함수를 사용한 filter
#Reduce 함수
from functools import reduce #reduce함수를 쓰기 위한 추가
print(reduce(lambda x,y:x+y,[1,2,3,4,5])) #15.
'Python3' 카테고리의 다른 글
[anaconda3] 딥러닝 환경을 꾸미는데 도움이 된 글들 (0) | 2021.02.12 |
---|---|
[인공지능] 이미지 기반에 참고하는 책과 블로그 (0) | 2021.02.10 |
퀵정렬 (Quick sort) (0) | 2020.01.29 |
추천 받은 책을 보기로 했다. (0) | 2020.01.27 |
매우 오랜만에 다시 잡은 Python3 (0) | 2020.01.26 |