[Python] python foreach에 step 주기

2015. 2. 21. 15:05Programming/python

foreach를 사용하여 코딩하는 일이 많은데, foreach에서 index를 건너뛰고 싶은 경우에 어떻게 하는지를 알고 싶었다.


for문으로 바꿔서 스탭을 주자니 먼가 좀 찝찝하고...


sampleList = [1, 2, 3, 4, 5, 6]

sampleList_length = len(sampleList)


for i in range(1, len(sampleList), 2):

print sampleList[i]


이렇게 바꿔서 표현해도 정상 동작했지만, foreach에서 동작하게 해보고 싶었다.

하는 방법은 너무도 간단..

foreach에도 아래와 같이 코딩하여 step을 지정해 줄 수 있었다.


for i in sampleList[::2]:

print i


[] 안의 요소는 문자열 sliding 규칙과 동일하다. 

맨 첫번째가 첫번째 리스트의 index 이며 만약 [::2] 가 아니라 [1::2]로 설정되어 있다면, sampleList의 첫번째 요소인 2부터

리스트가 시작하게 된다.


만약 스텝 값을 -1로 지정하게 되면 역순으로 리스트 루프가 동작하게 된다.


먼가 더 심플하게 코드가 보이는건 나만의 착각인가.. -_-