"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python - 인덱싱 및 슬라이싱

Python - 인덱싱 및 슬라이싱

2024-08-01에 게시됨
검색:901

Python - Indexing and Slicing

인덱싱 및 슬라이싱은 Python에서 특히 문자열을 사용할 때 중요한 개념입니다.

인덱싱:

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

이라고 합니다.

파이썬에서는 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

색인 생성에 관한 내용입니다.


슬라이싱:

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

파이썬에서 문자열을 자르면 문자열 내에서 시작할 위치와 끝날 위치를 지정하여 문자열의 특정 부분을 가져올 수 있습니다.
예를 들어 메시지에 "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에서 문자열을 자를 때 문자 사이의 간격을 지정하려면 콜론과 단계 값을 추가하면 됩니다.

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 = "[email protected]"
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

좋아요, 이게 기본이에요.

.....

릴리스 선언문 이 글은 https://dev.to/abys_learning_2024/python-indexing-and-slicing-2moh?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3