Python 슬라이스 표기법 마스터하기
Python의 슬라이싱은 목록, 튜플 또는 문자열의 요소 하위 집합에 액세스할 수 있는 강력한 기능입니다. a[:]와 같은 기본 슬라이스를 사용하든 a[x:y:z]와 같은 고급 슬라이스를 사용하든 슬라이스 작동 방식을 이해하면 코딩 효율성이 크게 향상됩니다.
이 기사에서는 Python의 슬라이스 표기법에 대해 자세히 알아보고, 슬라이스가 상한 배타적인 이유를 설명하고, N번째 항목마다 새 목록을 만드는 방법을 보여주고, 목록 슬라이스를 사용한 할당이 작동하는 방식을 명확하게 설명합니다. 마지막에는 Python의 슬라이싱에 대한 확실한 이해를 갖게 될 것입니다.
명령 | 설명 |
---|---|
slice = a[::2] | 원본 목록 a의 모든 두 번째 요소를 포함하는 새 목록을 만듭니다. |
slice = a[::-1] | 목록을 반대로 바꿉니다. |
slice = a[1:7:2] | 2단계로 인덱스 1부터 6까지의 요소를 추출합니다. |
slice1 = xs[0:2] | 목록 xs에서 인덱스 0부터 1까지 요소를 추출합니다. |
nth_list = a[::3] | 원래 목록의 세 번째 요소를 모두 포함하는 새 목록을 만듭니다. |
xs[0:2] = ["a", "b"] | xs의 인덱스 0과 1에 있는 요소를 "a"와 "b"로 바꿉니다. |
print(slice) | 변수 슬라이스의 내용을 콘솔에 출력합니다. |
Python 슬라이스 표기법 살펴보기
위에 제공된 스크립트는 Python의 슬라이스 표기법을 활용하여 목록을 효과적으로 조작하는 다양한 방법을 보여줍니다. 첫 번째 스크립트는 목록의 하위 집합을 만드는 기본 슬라이싱을 보여줍니다. 다른 슬라이스 표기법을 사용합니다. 예를 들어, 인덱스 2에서 4까지 요소를 추출하는 반면 처음 세 가지 요소를 가져옵니다. 그만큼 삼 구문은 목록에서 모든 두 번째 요소를 추출합니다. 목록을 반대로 합니다. 이러한 슬라이싱 기술을 사용하면 유연한 데이터 추출 및 조작이 가능하므로 원본 목록을 변경하지 않고도 데이터 하위 집합으로 작업하기가 더 쉬워집니다.
두 번째 스크립트는 슬라이싱의 상한 독점성 개념을 설명합니다. ~ 안에 의 경우 인덱스 0과 1의 요소는 포함되지만 인덱스 2는 제외됩니다. 이 동작은 Python의 0부터 시작하는 인덱싱과 일치하며 off-by-one 오류를 방지하는 데 도움이 됩니다. 세 번째 스크립트는 다음을 사용하여 원본 목록의 N번째 항목마다 새 목록을 만듭니다. , 요소를 샘플링하거나 건너뛰는 데 슬라이싱을 사용하는 방법을 보여줍니다. 네 번째 스크립트는 목록의 특정 조각에 새 값을 할당하는 방법을 보여줍니다. 사용하여 , 인덱스 0과 1의 요소는 "a"와 "b"로 대체됩니다. 조각에 값을 할당하는 이 기능을 사용하면 목록의 일부를 효율적으로 쉽게 수정할 수 있습니다.
Python의 슬라이스 표기법을 사용하는 방법
Python 슬라이싱 예제
# Basic slicing
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
slice1 = a[2:5] # [2, 3, 4]
slice2 = a[:3] # [0, 1, 2]
slice3 = a[::2] # [0, 2, 4, 6, 8]
slice4 = a[1:7:2] # [1, 3, 5]
slice5 = a[::-1] # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(slice1)
print(slice2)
print(slice3)
print(slice4)
print(slice5)
Python 슬라이스의 상한 배타성 이해
Python 슬라이스 상한 설명
# Explanation of upper-bound exclusivity
xs = [10, 20, 30, 40, 50]
slice1 = xs[0:2] # [10, 20]
slice2 = xs[:3] # [10, 20, 30]
print(slice1)
print(slice2)
# The end index is not included in the slice
# xs[0:2] includes xs[0] and xs[1], but not xs[2]
N번째 항목마다 새 목록 만들기
N번째 요소에 대한 Python 목록 슬라이싱
# Creating a new list with every Nth item
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
nth_list = a[::3] # [0, 3, 6, 9]
print(nth_list)
목록 조각으로 값 할당
Python 슬라이스 할당
삼
Python 슬라이스 표기법에 대해 자세히 알아보기
기본적인 슬라이싱 외에도 Python의 슬라이스 표기법은 다양한 데이터 조작 작업을 처리하기 위해 더욱 발전된 방식으로 적용될 수 있습니다. 한 가지 강력한 측면은 목록 끝에서 잘라낼 수 있는 음수 인덱싱입니다. 예를 들어, 목록의 마지막 세 요소를 검색합니다. . 이는 길이를 알지 못한 채 목록 끝에 있는 요소에 액세스하는 데 매우 유용할 수 있습니다. 또 다른 고급 기능은 조각을 정렬이나 필터링과 같은 다른 목록 작업과 결합하는 것입니다. 다음을 사용하여 목록 조각을 정렬할 수 있습니다. , 원래 목록을 변경하지 않고 인덱스 2에서 4까지 요소의 정렬된 버전을 반환합니다.
또한 슬라이싱은 다차원 목록 또는 목록 목록과 함께 사용할 수 있습니다. 예를 들어 2D 목록이 있는 경우 행과 열을 별도로 분할할 수 있습니다. 사용 처음 두 행을 가져오고, 각 행의 처음 두 열을 검색합니다. 이러한 고급 슬라이싱 기술을 이해하면 복잡한 데이터 구조를 효율적으로 조작하는 능력이 크게 향상될 수 있습니다. Python의 슬라이스 표기법은 목록의 일부에 액세스하는 도구일 뿐만 아니라 데이터 분석 및 조작을 위한 강력한 기능이기도 합니다.
- Python의 기본 슬라이싱 구문은 무엇입니까?
- 기본 슬라이싱 구문은 다음과 같습니다. , 어디 시작 인덱스이고, 종료 인덱스(배타적)이고, step 인덱스 사이의 증분을 결정합니다.
- 슬라이싱을 사용하여 목록을 어떻게 뒤집나요?
- 슬라이스 표기법을 사용하여 목록을 뒤집을 수 있습니다 .
- 목록의 마지막 요소에 어떻게 접근하나요?
- 다음을 사용하여 목록의 마지막 요소에 액세스할 수 있습니다. .
- 무엇을 반품?
- 목록의 처음 세 요소를 반환합니다. .
- 슬라이싱을 사용하여 목록의 요소를 수정할 수 있나요?
- 예, 다음과 같이 조각에 새 값을 할당할 수 있습니다. , 처음 두 요소를 9와 8로 바꿉니다.
- 두 번째 요소를 모두 얻기 위해 목록을 어떻게 분할합니까?
- 다음을 사용하여 모든 두 번째 요소를 얻을 수 있습니다. .
- 슬라이스에서 시작 인덱스를 생략하면 어떻게 되나요?
- 시작 인덱스를 생략하면 다음과 같이 슬라이스가 목록의 처음부터 시작됩니다. .
- 특정 열을 얻기 위해 2D 목록을 어떻게 분할합니까?
- 다음과 같은 목록 이해를 사용하여 2D 목록의 열을 분할할 수 있습니다. 처음 두 열을 얻으려면.
- 슬라이스의 음수 인덱싱은 무엇을 의미합니까?
- 음수 인덱싱은 목록의 끝부터 계산하는 것을 의미하므로 마지막 세 요소를 가져옵니다.
Python의 슬라이스 표기법은 데이터 조작 작업을 단순화하는 다목적 도구입니다. 목록을 뒤집거나, 특정 요소를 추출하거나, 목록 내용을 수정하는 등의 작업을 슬라이싱을 통해 간단하고 효율적으로 수행할 수 있습니다. 음수 인덱싱 및 다차원 슬라이싱과 같은 고급 기술을 포함하여 슬라이싱의 미묘한 차이를 이해하면 프로그래밍 기술과 효율성을 크게 향상시킬 수 있습니다.