산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

예제가 있는 Python 목록 index()

목록은 다양한 데이터 유형(int, float, Boolean, string 등)의 항목을 순서가 지정된 순서로 저장하는 컨테이너입니다. Python에 내장된 중요한 데이터 구조입니다. 데이터는 대괄호([]) 안에 기록되며 값은 쉼표(,)로 구분됩니다.

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

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

이 자습서에서는 다음을 배우게 됩니다.

파이썬 목록 색인()

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

기본 제공 목록 index() 메서드 외에도 목록 이해, enumerate(), 필터 메서드를 사용하여 목록을 반복하는 것과 같은 다른 방법을 사용하여 인덱스를 가져올 수도 있습니다.

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

구문

list.index(element, start, end)

매개변수

매개변수 설명
요소 인덱스를 얻고자 하는 요소입니다.
시작 이 매개변수는 선택 사항입니다. start:index를 정의하여 요소를 검색할 수 있습니다. 지정하지 않으면 기본값은 0입니다.
종료 이 매개변수는 선택 사항입니다. 검색할 요소의 끝 인덱스를 지정할 수 있습니다. 제공하지 않으면 목록의 끝까지 고려됩니다.

반환 가치

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

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

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-loop를 사용하여 목록에 있는 요소의 인덱스 가져오기

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() 함수는 파이썬에서 사용할 수 있는 내장 함수입니다. 열거를 사용하여 목록에 있는 요소의 모든 인덱스를 가져올 수 있습니다. 입력을 반복 가능한 객체(즉, 반복할 수 있는 객체)로 받아들이고 출력은 각 항목에 대한 카운터가 있는 객체입니다.

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

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단계) 설치가 완료되면 locate를 가져옵니다. 아래와 같은 모듈

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]

요약:


python

  1. 예제가 있는 C++의 std::list
  2. EXAMPLE이 있는 Python String strip() 함수
  3. 예제가 있는 Python 문자열 count()
  4. 예제가 있는 Python round() 함수
  5. 예제가 있는 Python map() 함수
  6. 예제가 있는 Python Timeit()
  7. 예제가 있는 컬렉션의 Python 카운터
  8. 예제가 있는 Python 목록 count()
  9. Python은 목록에서 중복을 제거합니다.
  10. Python LIST에서 요소 제거 [clear, pop, remove, del]