흔히들 파이썬 기본 문법중에 for i in range(10)을 C에서 for문하고 동치로 알고있는 경우가 많은데


사실 이 range(10)을 print 해보면




이처럼 range(0, 10)이라고 뜨는걸 볼 수 있음. 그걸 list로 바꾸면 저렇게 [0, 1, 2, 3...] 이런식이 되는거고


이런 range(0, 10)을 반복가능한 개체(iterable) 라고 부르는데 C언어 배열하고 비슷하다고 생각하면 됨


그렇게 되면 C++문법 중에 이 배열을 반복시키는 문법을 본적이 있을텐데




이 범위기반 for문하고 파이썬의 for 문이 동치라는걸 알수 있지



그래서 파이썬은 range(10)을 안쓰고 [0, 1, 2, 3,] 리스트를 넣어도 똑같은 실행 결과를 얻을 수 있음


근데 파이썬에는 다른 언어에는 볼수없는 '리스트 컴프리헨션" 이라는 기능을 지원하고 있는데



이게 바로 리스트 컴프리헨션을 사용해서 [0, 1, 2, 3..]을 표현한 식임


[x for x in range(10)] 간단하게만 뜻풀이를 하자면


"리스트 를 생성하는데 그 값들은 x를 넣을거임 그리고 그 x는 range(10)의 요소들을 가지고 있도록 해라"


이런 의미로 생각하면 쉬울거임


근데 리스트 컴프리헨션을 해보니까 또 for문하고 range(10)이 들어갔네?


그럼 이걸 또 이렇게 바꿀 수 있음




요즘 파이썬 먼저 배운 사람들한테는 이게 뭐가 이상한거라고 생각할 수 있겠지만


C언어를 먼저 배운사람한테는 신기한 기능이라고 느낄 수 있을거 같아서 글 써봤음