강의로 돌아가기
-

List comprehension 과 map 차이

# List Comprehension
[list(a) for a in zip(*mylist)]

# Map
list(map(list, zip(*mylist)))

둘의 차이가 크지 않은 것 같은데 다른 점이 있다면 설명해주세요~

stackoverflow
위 링크에선 List Comprehension 을 더 많이 사용한다고 나와있는데 실제로 그러한지 경험도 들어봤으면 해요.

1 개의 답변
Demi

안녕하세요. Demi 입니다.

Python documentation-map에 따르면, map 함수는 iterator를 리턴합니다. 그래서 map 함수를 적용한 후, list로 형 변환을 해주어야합니다.

list comprehension을 사용하면 따로 형 변환해줄 필요가 없고요.

둘 중 어느걸 사용할 것인지는 개인/팀의 선택인 것 같아요. 저는 개인적으로 map 을 사용하는 편이 읽기 편하다고 생각해서 후자를 주로 사용합니다. 반면에 list comprehension 이 더 읽기 편하다고 하시는 분도 계세요.


좋은 질문 남겨주셔서 감사합니다.

  • Demi

    저도 경험이 많지는 않아서, 어느쪽이 옳다! 라고 말하기 어렵네요. 경험이 많으신 분이 제 강의를 보고있다면 답변남겨주시면 좋겠습니다. :)

    Demi―2018.07.16 22:42
  • -

    음.. type()함수를 사용해서 확인해보면 map함수는 list를 리턴합니다. list()를 씌우지 않아도 정상적으로 작동하는 것 같습니다???

    -―2018.07.26 20:41
  • -

    sublime text3에 적용했을 때는 list가 반환되는데 파이참에서 실행해보니 map object를 반환하네요. 말씀하신게 맞는거 같습니다.

    -―2018.07.26 21:13
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.