Python 기초 슬라이싱 slicing
슬라이싱
연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미합니다.
슬라이싱을 하면 새로운 객체를 생성하게 됩니다. 즉, 일부분을 복사해서 가져온다고 생각하면 됩니다.
문법
각각 start, end, step 모두 양수와 음수를 가질 수 있습니다.
slice[start:end:step]
- start
- 슬라이싱을 시작할 시작위치입니다.
- end
- 슬라이싱을 끝낼 위치로 end는 포함하지 않습니다.
- step
- stride(보폭)라고도 하며 몇개씩 끊어서 가져올지와 방향을 정합니다. 옵션이며 아래의 예제를 확인하면 쉽게 이해가 가능합니다.
- 양수
- 연속적인 객체들의 제일 앞에서부터 0을 시작으로 번호를 뒤쪽으로 증가하면서 매깁니다.
- 음수
- 연속적인 객체들의 제일 뒤에서부터 -1을 시작으로 번호를 앞쪽으로 감소하면서 매깁니다.
예제
기본적으로 모든 예제들은 a = ['a', 'b', 'c', 'd', 'e']의 리스트를 통해서 작성하겠습니다.
a[ start : ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 1 : ]
['b', 'c', 'd', 'e']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ -3 : ]
['c', 'd', 'e']
a[ : end ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ : 2 ]
['a', 'b']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ : -1 ]
['a', 'b', 'c', 'd']
a[ start : end ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 2 : 4 ]
['c', 'd']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ -4 : -2 ]
['b', 'c']
>>> a = ['a', 'b', 'c', 'd', 'e']
# 인덱스 1 ~ 3까지의 값을 거꾸로 가져오기
>>> a[ 3 : 0 : -1]
['d', 'c', 'b']
a[ start : end : step ]
step이 양수일 때: 오른쪽으로 step만큼 이동하면서 가져옵니다.
step이 음수일 때: 왼쪽으로 step만큼 이동하면서 가져옵니다.
>>> a = ['a', 'b', 'c', 'd', 'e']
# 2칸씩 이동하면서 가져옵니다.
>>> a[ : : 2 ]
['a', 'c', 'e']
>>> a = ['a', 'b', 'c', 'd', 'e']
# 3칸씩 이동하면서 가져옵니다.
>>> a[ -5 : : 3 ]
['a', 'd']
>>> a = ['a', 'b', 'c', 'd', 'e']
# 전체를 거꾸로 가져옵니다.
>>> a[ : : -1 ]
['e', 'd', 'c', 'b', 'a']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 3 : : -1 ]
['d', 'c', 'b', 'a']
Author And Source
이 문제에 관하여(Python 기초 슬라이싱 slicing), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@nodemon/Python-기초-슬라이싱-slicing
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미합니다.
슬라이싱을 하면 새로운 객체를 생성하게 됩니다. 즉, 일부분을 복사해서 가져온다고 생각하면 됩니다.
각각 start, end, step 모두 양수와 음수를 가질 수 있습니다.
slice[start:end:step]
- 슬라이싱을 시작할 시작위치입니다.
- 슬라이싱을 끝낼 위치로 end는 포함하지 않습니다.
- stride(보폭)라고도 하며 몇개씩 끊어서 가져올지와 방향을 정합니다. 옵션이며 아래의 예제를 확인하면 쉽게 이해가 가능합니다.
- 연속적인 객체들의 제일 앞에서부터 0을 시작으로 번호를 뒤쪽으로 증가하면서 매깁니다.
- 연속적인 객체들의 제일 뒤에서부터 -1을 시작으로 번호를 앞쪽으로 감소하면서 매깁니다.
기본적으로 모든 예제들은 a = ['a', 'b', 'c', 'd', 'e']의 리스트를 통해서 작성하겠습니다.
a[ start : ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 1 : ]
['b', 'c', 'd', 'e']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ -3 : ]
['c', 'd', 'e']
a[ : end ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ : 2 ]
['a', 'b']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ : -1 ]
['a', 'b', 'c', 'd']
a[ start : end ]
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 2 : 4 ]
['c', 'd']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ -4 : -2 ]
['b', 'c']
>>> a = ['a', 'b', 'c', 'd', 'e']
# 인덱스 1 ~ 3까지의 값을 거꾸로 가져오기
>>> a[ 3 : 0 : -1]
['d', 'c', 'b']
a[ start : end : step ]
step이 양수일 때: 오른쪽으로 step만큼 이동하면서 가져옵니다.
step이 음수일 때: 왼쪽으로 step만큼 이동하면서 가져옵니다.
>>> a = ['a', 'b', 'c', 'd', 'e']
# 2칸씩 이동하면서 가져옵니다.
>>> a[ : : 2 ]
['a', 'c', 'e']
>>> a = ['a', 'b', 'c', 'd', 'e']
# 3칸씩 이동하면서 가져옵니다.
>>> a[ -5 : : 3 ]
['a', 'd']
>>> a = ['a', 'b', 'c', 'd', 'e']
# 전체를 거꾸로 가져옵니다.
>>> a[ : : -1 ]
['e', 'd', 'c', 'b', 'a']
>>> a = ['a', 'b', 'c', 'd', 'e']
>>> a[ 3 : : -1 ]
['d', 'c', 'b', 'a']
Author And Source
이 문제에 관하여(Python 기초 슬라이싱 slicing), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nodemon/Python-기초-슬라이싱-slicing저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)