태코놀로지

시퀀스 슬라이스 [start:end:stride] 본문

Python3

시퀀스 슬라이스 [start:end:stride]

태코놀로지 2017. 1. 8. 01:58

시퀀스 슬라이스 [start:end:stride]


파이썬에서 시퀀스(주로 문자열)을 입맛대로 다루기 위해서는 필수적으로 알아야 하는 것이 슬라이스다. start, end 자리에 잘라낼 문자열의 시작-인덱스와 끝-인덱스를 입력해주고, stride에는 텀(term)을 입력해준다. 인덱스로 음수도 입력이 가능하기때문에 다방면으로 응용이 가능하지만 의외로 헷갈리는 경우가 많다. 슬라이싱의 결과로 새로운 시퀀스를 반환한다. 즉 슬라이스한 결과를 수정해도 원본 리스트에는 아무런 영향을 미치지 않는다.


기억할만한 내용을 추려서 정리하면 아래와 같다.

1. 문자열을 역순으로 출력하는 방법은 [::-1]로 가능. (UTF-8 바이트 문자열로 인코드된 유니코드 문자는 예외)

2. 뻔한 것까지 기재하지는 말자, 장황해진다. 즉, 처음부터라면 start 자리에 굳이 0을 입력하진 말자.

3. 슬라이싱에 사용되는 인덱스는 범위를 벗어나도 괜찮다. 즉, 시퀀스 전후 경계에 대한 표현이 쉽다.

4. 슬라이스에 start, end, stride를 모두 사용하면 혼란스럽다. stride 사용이 필요하다면 start, end 생략을 고려하자.

5. 슬라이스에 stride 사용이 필요하다면, 되도록 양수를 이용하자.


Comments