> 백엔드 개발 > 파이썬 튜토리얼 > Python - 인덱싱 및 슬라이싱

Python - 인덱싱 및 슬라이싱

王林
풀어 주다: 2024-07-25 09:15:42
원래의
327명이 탐색했습니다.

Python - Indexing and Slicing

인덱싱 및 슬라이싱은 Python에서 중요한 개념이며, 특히 문자열을 사용할 때 더욱 그렇습니다.

인덱싱 :

WKT에서 문자열은 일련의 문자일 뿐입니다.
따라서 각 문자에는 index라는 위치가 있으며 해당 특정 문자열에서 해당 위치에 액세스하는 것을 인덱싱이라고 합니다.

Python에서는 0 기반 인덱싱을 사용합니다. 즉, 문자열의 첫 번째 문자는 인덱스(위치)가 1이 아닌 0이고, 두 번째 문자의 인덱스(위치)는 1이 되는 식입니다.

예를 들어

>     H E L L O W O R L D
>     0 1 2 3 4 5 6 7 8 9
로그인 후 복사

이를 긍정적 인덱싱이라고 합니다. 인덱스를 참조하기 위해 양수만 사용했기 때문입니다.

'그럼 우리도 부정적인 지표가 있는 건가요??'라고 물으실 수도 있겠네요
물론, 여기서는 음수가 아니기 때문에 첫 번째 위치로 0이 없습니다.

음수 인덱싱을 사용하면 문자열 끝의 문자에 액세스할 수 있습니다. 즉, 마지막 문자의 색인은 -1이고 두 번째 마지막 문자의 색인은 -2 등입니다.

>      H  E  L  L  O  W  O  R  L  D
>    -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
로그인 후 복사
word = "HELLOWORLD"

print(word[0])
print(word[5])

H
W

로그인 후 복사

마찬가지로

print(word[-1])
print(word[-6])

D
0
로그인 후 복사

인덱싱에 관한 내용입니다.


슬라이싱 :

전체 케이크에서 케이크 한 조각을 자르는 것처럼 끈을 자르는 것을 생각해 보세요. 절단을 시작할 위치(색인), 끝낼 위치(끝 색인), 각 조각의 크기(단계)까지 지정할 수 있습니다. 이렇게 하면 우리가 좋아하는 방식으로 케이크(또는 끈)의 작은 부분을 정확하게 만들 수 있습니다!

Python에서 문자열을 슬라이싱하면 문자열 내에서 시작 위치와 끝 위치를 지정하여 문자열의 특정 부분을 가져올 수 있습니다.
예를 들어 메시지에 "HELLOWORLD"가 포함되어 있으면 message[3:7]은 인덱스 3('L')에서 시작하고 인덱스 7('D') 바로 앞에서 끝나기 때문에 "LOWO"를 제공합니다. 이렇게 하면 필요한 문자열 부분을 추출할 수 있습니다!

- 슬라이싱의 기본 구문은

string[start:stop]
로그인 후 복사
  • 시작 인덱스는 슬라이스가 시작되는 위치이며 이 인덱스는 포함됩니다.
  • 정지 인덱스는 슬라이스가 끝나는 위치이지만 이 인덱스는 배타적입니다. 즉, 이 인덱스의 문자는 슬라이스에 포함되지 않습니다.
text = "HappyBirthday"

print(text[0:5])  
print(text[5:13])

Happy
Birthday  
로그인 후 복사

Python에서 문자열을 슬라이싱할 때 시작 또는 중지 인덱스를 생략하면 문자열의 처음부터 끝까지 자를 수 있습니다.
그만큼 간단합니다!

- 한걸음씩 썰기,

Python에서 문자열을 자를 때 문자 사이의 간격을 지정하려면 콜론과 단계 값을 추가하면 됩니다.

string[start:stop:step]
로그인 후 복사

슬라이스를 생성할 때 문자열 문자를 건너뛰는 방법을 제어할 수 있습니다.

message = "HELLOWORLD"
print(message[1::2])    

EORL
로그인 후 복사

message[1::2]는 인덱스 1('E')부터 문자열 끝까지 2단계로 자르기 시작합니다.
따라서 인덱스 1, 3, 5, 7의 문자가 포함되어 "EORL"이 됩니다.

지금까지 포지티브 슬라이싱에 대해 알아보았으니 이제 네거티브 슬라이싱에 대해 알아보겠습니다.

- 네거티브 슬라이싱 :

  • 음수 단계를 사용하면 문자열을 역순으로 분할할 수 있습니다.
  • 마지막 두 번째 문자부터 세 번째 문자까지 역순으로 잘라보겠습니다.
message = "HELLOWORLD"
print(message[-2:2:-1])

ROWOL
로그인 후 복사

질문을 살펴보겠습니다.

#문자열을 가져와서 첫 번째 문자와 마지막 문자로 구성된 새 문자열을 반환하는 함수를 작성하세요.

word = "Python"
end = word[0]+word[5]
print(end)

Pn
로그인 후 복사

#주어진 문자열을 반전시키는 함수를 작성하세요.

word = "Python"
print(word[::-1])

nohtyP
로그인 후 복사

#문자열이 주어지면 3번째부터 8번째 문자(포함)까지 하위 문자열을 추출하여 반환합니다.

text = "MichaelJackson"
print(text[3:9])

haelJa
로그인 후 복사

#이메일 주소가 주어지면 도메인을 추출하여 반환합니다.

email = "hello_world@gmail.com"
domain = email[:-10]
print(domain)

hello_world
로그인 후 복사

#주어진 문자열에서 세 번째 문자를 모두 반환하는 함수를 작성하세요.

text = "Programming"
print(text[::3])

Pgmn
로그인 후 복사

#두 번째 문자마다 건너뛰고 결과 문자열을 반대로 바꾸는 함수를 작성하세요.

text1 = "Programming"
print(text1[::-2])

gimroP
로그인 후 복사

#주어진 문자열에서 짝수 인덱스에 있는 문자를 추출하여 반환하는 함수를 작성하세요.

text = "Programming"
print(text[::2])

Pormig
로그인 후 복사

자, 여기가 기본입니다.

.....

위 내용은 Python - 인덱싱 및 슬라이싱의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿