>백엔드 개발 >파이썬 튜토리얼 >Python 목록에서 항목의 인덱스를 효율적으로 찾을 수 있습니까?

Python 목록에서 항목의 인덱스를 효율적으로 찾을 수 있습니까?

DDD
DDD원래의
2024-12-23 00:36:28331검색

How Can I Efficiently Find the Index of an Item in a Python List?

목록에서 항목의 색인 찾기

목록과 해당 목록 내의 항목이 주어지면 해당 색인을 찾는 것은 Python 고유의 방법을 사용하여 간단한 작업을 수행합니다.

해결책: list.index()

목록 클래스에 내장된 ".index()" 메서드는 이러한 목적에 맞게 조정되었습니다. 찾고 있는 항목을 인수로 취하고 0부터 시작하는 인덱스를 반환합니다.

예를 들어 ["foo", "bar", "baz"] 목록에서 "bar" 인덱스는 다음과 같습니다. 다음을 사용하여 검색할 수 있습니다.

>>> ["foo", "bar", "baz"].index("bar")
1

주의 사항

".index()"는 편리한 접근 방식이지만 몇 가지가 함께 제공됩니다. 제한 사항:

선형 시간 복잡도:
".index()" 메서드는 일치하는 항목을 찾을 때까지 목록의 요소를 하나씩 검색합니다. 목록이 길면 성능 병목 현상이 발생할 수 있습니다.

첫 번째 일치 항목만 반환됨:
동일한 항목이 목록에 여러 번 나타나는 경우 ".index()"는 첫 번째 항목의 인덱스만 반환합니다.

누락된 항목에 대한 예외:
지정된 항목이 목록에 없으면 ".index()"는 "ValueError"를 발생시킵니다.

대안

이러한 제한 사항이 문제가 될 수 있는 상황에서는 다음 대안을 고려하세요.

목록 이해 또는 생성기 표현식:
이 기술을 사용하면 항목을 검색할 때 더 많은 유연성을 얻을 수 있습니다. 인덱스. 예:

[i for i, e in enumerate([1, 2, 1]) if e == 1]

"in" 연산자 및 열거:
이 조합을 사용하면 항목 존재 여부를 확인하는 동시에 색인을 검색할 수 있습니다.

for i, e in enumerate([1, 2, 1]):
    if e == 1:
        print(i)

By 이러한 미묘한 차이를 이해하면 개발자는 코드에서 Python의 목록 인덱싱 기능을 효과적으로 활용할 수 있습니다.

위 내용은 Python 목록에서 항목의 인덱스를 효율적으로 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.