Python 예제와 함께 index() 나열

목록은 다양한 데이터 유형(정수, 부동 소수점, 부울, 문자열 등)의 항목을 순서대로 저장하는 컨테이너입니다. 내장되어 있는 중요한 데이터 구조입니다. Python데이터는 대괄호([]) 안에 작성되고, 값은 쉼표(,)로 구분됩니다.

목록 내의 항목은 인덱스 0부터 시작하는 첫 번째 요소로 인덱싱됩니다. 새 항목을 추가하거나 기존 항목을 업데이트, 삭제하여 생성된 목록을 변경할 수 있습니다. 중복된 항목과 중첩된 목록이 있을 수도 있습니다.

목록에는 여러 가지 메서드를 사용할 수 있으며 그 중 중요한 메서드는 index()입니다.

Python 목록 인덱스()

list index() 메소드는 주어진 요소의 첫 번째 가장 낮은 인덱스를 찾는 데 도움이 됩니다. 목록 내에 중복된 요소가 있는 경우 해당 요소의 첫 번째 인덱스가 반환됩니다. 이는 색인을 얻는 가장 쉽고 간단한 방법입니다.

내장된 목록 index() 메서드 외에도 목록 내포, enumerate(), 필터 메서드를 사용하여 목록을 반복하는 것과 같은 다른 방법을 사용하여 인덱스를 얻을 수도 있습니다.

list index() 메소드는 주어진 요소의 첫 번째 가장 낮은 인덱스를 반환합니다.

통사론

list.index(element, start, end)

파라미터

파라미터 기술설명
요소 색인을 얻으려는 요소입니다.
스타트 이 매개변수는 선택사항입니다. start: 인덱스를 정의하여 요소를 검색할 수 있습니다. 지정하지 않으면 기본값은 0입니다.
end 이 매개변수는 선택사항입니다. 검색할 요소의 끝 인덱스를 지정할 수 있습니다. 지정하지 않으면 목록 끝까지 고려됩니다.

반환 값

list index() 메소드는 주어진 요소의 인덱스를 반환합니다. 요소가 목록에 없으면 index() 메서드는 오류를 발생시킵니다(예: ValueError: 'Element' is not in the list).

예: 주어진 요소의 인덱스를 찾으려면.

my_list = ['A', 'B', 'C', 'D', 'E', 'F'] 목록에서 요소 C와 F의 인덱스를 알고 싶습니다.

아래 예에서는 인덱스를 가져오는 방법을 보여줍니다.

my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("The index of element C is ", my_list.index('C'))
print("The index of element F is ", my_list.index('F'))

출력:

The index of element C is  2
The index of element F is  5

예: index()에서 시작 및 끝 사용

이 예제에서는 시작 인덱스와 끝 인덱스를 사용하여 목록에서 인덱스 검색을 제한해 보겠습니다.

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('C', 1, 5))
print("The index of element F is ", my_list.index('F', 3, 7))
#using just the startindex
print("The index of element D is ", my_list.index('D', 1))

출력:

The index of element C is  2
The index of element F is  5
The index of element D is  3

예: 존재하지 않는 요소를 사용하여 index() 메서드를 테스트합니다.

존재하지 않는 요소에 대해 목록에서 색인을 검색하려고 하면 아래와 같은 오류가 발생합니다.

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("The index of element C is ", my_list.index('Z'))

출력:

Traceback (most recent call last):
File "display.py", line 3, in <module>
print("The index of element C is ", my_list.index('Z'))
ValueError: 'Z' is not in list

for 루프를 사용하여 목록에 있는 요소의 인덱스 가져오기

list.index() 메서드를 사용하면 인수로 전달되는 요소의 인덱스를 제공하는 것을 확인했습니다.

이제 목록을 다음과 같이 고려하십시오: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] . 'Guru'라는 이름이 인덱스에 3번 있는데, 'Guru'라는 이름이 포함된 모든 인덱스를 원합니다.

for-loop를 사용하면 아래 예제와 같이 여러 인덱스를 얻을 수 있습니다.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
all_indexes = [] 
for i in range(0, len(my_list)) : 
    if my_list[i] == 'Guru' : 
        all_indexes.append(i)
print("Originallist ", my_list)
print("Indexes for element Guru : ", all_indexes)

출력:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

while 루프 및 list.index() 사용

while 루프를 사용하면 주어진 요소의 모든 인덱스를 얻기 위해 주어진 목록을 반복합니다.

목록: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']에는 'Guru' 요소의 모든 인덱스가 필요합니다.

아래의 예제는 while 루프를 사용하여 모든 인덱스를 얻는 방법을 보여줍니다.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
result = []
elementindex = -1
while True:
    try:
        elementindex = my_list.index('Guru', elementindex+1)
        result.append(elementindex)
    except  ValueError:
        break
print("OriginalList is ", my_list)
print("The index for element Guru is ", result)

출력:

OriginalList is  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
The index for element Guru is  [0, 3, 6]

목록 이해를 사용하여 목록에 있는 요소의 인덱스 얻기

모든 색인을 얻으려면 빠르고 간단한 방법은 목록에서 목록 이해를 활용하는 것입니다.

목록 이해는 다음과 같습니다. Python 새로운 시퀀스(예: 목록, 사전 등)를 생성하는 데 사용되는 함수, 즉 이미 생성된 시퀀스를 사용합니다.

긴 루프를 줄이고 코드를 더 쉽게 읽고 유지 관리하는 데 도움이 됩니다.

다음 예제는 그 방법을 보여줍니다.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru']
print("Indexes for element Guru : ", all_indexes)

출력:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

Enumerate를 사용하여 목록에 있는 요소의 인덱스 가져오기

Enumerate() 함수는 Python에서 사용할 수 있는 내장 함수입니다. 열거형을 사용하여 목록에 있는 요소의 모든 인덱스를 가져올 수 있습니다. 입력을 반복 가능한 객체(즉, 반복할 수 있는 객체)로 취하고 출력은 각 항목에 대한 카운터가 있는 객체입니다.

다음 예제는 목록에서 enumerate를 사용하여 주어진 요소에 대한 모든 인덱스를 가져오는 방법을 보여줍니다.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])

출력:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

필터를 사용하여 목록에 있는 요소의 인덱스 가져오기

filter() 메소드는 주어진 함수를 기반으로 주어진 목록을 필터링합니다. 목록의 각 요소는 함수에 전달되며 필요한 요소는 함수에 지정된 조건에 따라 필터링됩니다.

목록에 있는 특정 요소에 대한 인덱스를 가져오기 위해 filter() 메서드를 사용하겠습니다.

다음 예제는 목록에서 필터를 사용하는 방법을 보여줍니다.

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist ", my_list)
all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) 
print("Indexes for element Guru : ", all_indexes)

출력:

Originallist  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru :  [0, 3, 6]

NumPy를 사용하여 목록에 있는 요소의 인덱스 얻기

NumPy 라이브러리는 배열에 특별히 사용됩니다. 따라서 여기서는 NumPy를 사용하여 주어진 목록에서 필요한 요소의 인덱스를 가져옵니다.

NumPy를 사용하려면 NumPy를 설치하고 가져와야 합니다.

동일한 단계는 다음과 같습니다.

단계 1) NumPy 설치

pip install numpy

단계 2) NumPy 모듈을 가져옵니다.

import numpy as np

단계 3) np.array를 사용하여 목록을 배열로 변환

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
np_array = np.array(my_list)

단계 4) np.where()를 사용하여 원하는 요소의 인덱스를 가져옵니다.

item_index = np.where(np_array == 'Guru')[0]

출력이 포함된 최종 작업 코드는 다음과 같습니다.

import numpy as np
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
np_array = np.array(my_list)
item_index = np.where(np_array == 'Guru')[0]
print("Originallist ", my_list)
print("Indexes for element Guru :", item_index)

출력:

Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0 3 6]

more_itertools.locate()를 사용하여 목록에 있는 요소의 인덱스 가져오기

more_itertools.locate()는 목록에서 요소의 인덱스를 찾는 데 도움이 됩니다. 이 모듈은 Python 버전 3.5 이상에서 작동합니다. 패키지 more_itertools 그것을 사용하려면 먼저 설치해야합니다.

more_itertools를 설치하고 사용하는 단계는 다음과 같습니다.

1단계) pip(Python 패키지 관리자)를 사용하여 more_itertools를 설치합니다. 명령은

pip install more_itertools

단계 2) 설치가 완료되면 import를 해주세요. 위치 아래와 같이 모듈

from more_itertools import locate

이제 아래 예제와 같이 목록에서 모듈 찾기를 사용할 수 있습니다.

from more_itertools import locate
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] 
print("Originallist : ", my_list)
print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))

출력:

Originallist :  ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
Indexes for element Guru : [0, 3, 6]

제품 개요

  • list index() 메소드는 주어진 요소의 인덱스를 찾는 데 도움이 됩니다. 이는 색인을 얻는 가장 쉽고 간단한 방법입니다.
  • list index() 메소드는 주어진 요소의 인덱스를 반환합니다.
  • 요소가 목록에 없으면 index() 메서드는 오류를 발생시킵니다(예: ValueError: 'Element' is not in list).
  • 내장된 목록 방법 외에도 목록 반복, 목록 이해 사용, enumerate() 사용, 필터 사용 등과 같은 다른 방법을 사용하여 색인을 얻을 수도 있습니다.
  • for 루프와 while 루프를 사용하여 주어진 요소의 여러 인덱스를 가져옵니다.
  • 모든 색인을 얻으려면 빠르고 간단한 방법은 목록에서 목록 이해를 활용하는 것입니다.
  • 목록 이해는 다음과 같습니다. Python 새로운 시퀀스를 생성하는 데 사용되는 함수입니다.
  • 긴 루프를 줄이고 코드를 더 쉽게 읽고 유지 관리하는 데 도움이 됩니다.
  • 열거형을 사용하여 목록에 있는 요소의 모든 인덱스를 가져올 수 있습니다.
  • Enumerate() 함수는 Python에서 사용할 수 있는 내장 함수입니다. 입력을 반복 가능한 객체(즉, 반복할 수 있는 객체)로 취하고 출력은 각 항목에 대한 카운터가 있는 객체입니다.
  • filter() 메소드는 주어진 함수를 기반으로 주어진 목록을 필터링합니다.
  • Numpy 라이브러리는 배열에 특별히 사용됩니다. NumPy를 사용하여 목록에 있는 요소의 인덱스를 가져올 수 있습니다.
  • more_itertools.locate()는 주어진 목록의 인덱스를 찾는 데 도움이 되는 또 다른 Python 라이브러리입니다.