본문 바로가기
파이썬

파이썬 지도가 Python 3에서 목록 대신지도 객체를 반환하는 이유는 무엇입니까?

by º기록 2020. 10. 28.
반응형


저는 Python 2.7에서 map 함수를 즐깁니다.

Python 2.7.12
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: [2, 3, 4]

그러나 Python 3.x에서는 다음과 같이 변경되었습니다.

Python 3.5.1
In[2]: map(lambda x: x+1, [1,2,3])
Out[2]: <map at 0x4218390>

나는 방법을 이해하지만 그 이유에 대한 참조를 찾을 수 없습니다. 왜 언어 디자이너들이이 선택을했을까요? 제 생각에는 큰 고통을 안겨줍니다. 이것이 목록 이해력을 고수하는 팔 씨름 개발자였습니까?


fmap :: (a -> b) -> f a -> f b

 

해결 방법

 


>>> list(map(min, [1,2,3,4], [0,10,0,10]))
[0,2,0,4]

zip을 사용하는 것보다 약간 쉽습니다.

>>> list(min(x, y) for x, y in zip([1,2,3,4], [0,10,0,10]))

그렇지 않으면 단순히 생성기 표현식에 아무것도 추가하지 않습니다.

 

참조 페이지 https://stackoverflow.com/questions/40015439

 

 

반응형

댓글