Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python NumPy rindex() 메서드 활용법 – 문자열에서 부분 문자열이 발견되는 가장 높은 인덱스 찾기

Python NumPy에서 제공하는 numpy.char.rindex() 메서드를 사용하면 문자열 내에서 특정 부분 문자열(sub)이 마지막으로 등장하는 위치, 즉 가장 높은 인덱스를 손쉽게 구할 수 있습니다.

이 메서드는 정수(int) 타입의 배열을 결과로 반환하며, 만약 검색하려는 부분 문자열이 문자열 안에 존재하지 않으면 ValueError 예외가 발생한다는 점에 유의해야 합니다.

메서드의 주요 매개변수는 다음과 같습니다.

  • 첫 번째 매개변수: 검색 대상이 되는 입력 문자열 배열
  • 두 번째 매개변수: 문자열에서 찾고자 하는 부분 문자열

구현 단계

먼저 필요한 라이브러리를 임포트합니다.

import numpy as np

1차원 문자열 배열을 생성합니다.

arr = np.array(['KATIE', 'KATE', 'BRATleuATp'])

생성한 배열을 화면에 출력합니다.

print("Array...\n",arr)

배열의 데이터 타입을 확인합니다.

print("\nArray datatype...\n",arr.dtype)

배열의 차원(ndim)을 확인합니다.

print("\nArray Dimensions...\n",arr.ndim)

배열의 형태(shape)를 확인합니다.

print("\nOur Array Shape...\n",arr.shape)

배열에 포함된 요소의 개수를 확인합니다.

print("\nNumber of elements in the Array...\n",arr.size)

numpy.char.rindex() 메서드를 사용하여 각 문자열에서 부분 문자열 'AT'가 발견되는 가장 높은 인덱스를 반환합니다.

print("\nResult (rindex() method)...\n",np.char.rindex(arr, 'AT'))

전체 예제 코드

import numpy as np

# 1차원 문자열 배열 생성
arr = np.array(['KATIE', 'KATE', 'BRATleuATp'])

# 배열 출력
print("Array...\n",arr)

# 데이터 타입 확인
print("\nArray datatype...\n",arr.dtype)

# 배열 차원 확인
print("\nArray Dimensions...\n",arr.ndim)

# 배열 형태 확인
print("\nOur Array Shape...\n",arr.shape)

# 배열 요소 개수 확인
print("\nNumber of elements in the Array...\n",arr.size)

# numpy.char.rindex() 메서드로 부분 문자열 'AT'가 발견되는 가장 높은 인덱스 반환
print("\nResult (rindex() method)...\n",np.char.rindex(arr, 'AT'))

실행 결과

Array...
['KATIE' 'KATE' 'BRATleuATp']

Array datatype...
<U10

Array Dimensions...
1

Our Array Shape...
(3,)

Number of elements in the Array...
3

Result (rindex() method)...
[1 1 7]

위 실행 결과에서 볼 수 있듯이, 'KATIE'와 'KATE'에서는 인덱스 1, 'BRATleuATp'에서는 인덱스 7이 반환됩니다. 이는 각 문자열에서 부분 문자열 'AT'가 마지막으로 나타나는 위치를 의미합니다.