반응형
저는 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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Pandas를 사용하여 데이터 프레임에 빈 행 추가 (0) | 2020.10.28 |
---|---|
파이썬 JSON에서 바이트를 인코딩하는 방법은 무엇입니까? TypeError를 던지는 json.dumps () (0) | 2020.10.28 |
파이썬 빈 목록을 초기화하는 방법은 무엇입니까? (0) | 2020.10.28 |
파이썬 태그 이름으로 요소 내에서 태그 이름으로 요소 찾기 (Selenium) (0) | 2020.10.28 |
파이썬 Keras 모델에서 tensorflow 출력 노드의 이름을 어떻게 얻습니까? (0) | 2020.10.28 |
댓글