지능형 리스트를 보통 두가지 용도로 써왔는데요.
string = 'Hello, world!'
characters = [character for character in string]
이렇게 원래의 용도로도 사용하고
string = 'Hello, world!'
[print(character) for character in string]
이렇게 단순 반복 작업 용도로도 많이 사용했는데요.
fluent python 보니 후자는 부작용을 이용한 거라며
지능형 리스트는 생성된 리스트를 사용하지 않을 거면 쓰지 말라고 하더라고요.
그런데 부작용을 사용했다고 해서 쓰면 안되는 이유가 있나요...?
실제 인터넷 보면 후자의 방식을 멋드러지게 사용한 다음 pythonic wow! 이러고들 있던데..
컴프리헨션을 지능형 머시기라 부르냐 - dc App
쓸데없는 리스트메모리 잡아먹는거랑 줄바꾸고 탭쓰는게 더 가독성이 높은데 가독성 안좋아지는거때문일것 같은데.. 아마 전자 이유가 가장 클듯.. 리
리스트는 리스트 표현식보다는 지능형 리스트라고 많이 부르네요. 제너레이터 표현식과 달리.
가독성은 보기 나름인 것 같은데, 메모리 문제는 확실하네요.
list comprehension을 지능형 리스트라고불러?