Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 목록에서 찾기:초보자 안내서

Python 목록에서 항목을 찾는 방법은 무엇입니까? 모든 Python 코더가 어느 시점에서 직면하는 질문입니다. 운 좋게도 언어는 in을 사용하는 것과 같이 목록에서 항목을 찾을 수 있는 다양한 방법을 제공합니다. 연산자 또는 선형 검색.

이 가이드에서는 목록에서 항목을 찾는 네 가지 방법에 대해 설명합니다. 작동 방식을 배울 수 있도록 이러한 각 방법의 예를 살펴봅니다.

"in"을 사용하여 목록에서 Python 찾기

Python에는 in이라는 특수 연산자가 있습니다. . 이 연산자는 값이 목록에 있는지 확인합니다. 이 연산자는 값이 목록의 구성원인지 여부를 확인하기 때문에 "멤버십 연산자"라고도 합니다.

이 예에서는 신발 가게를 운영하고 있으며 특정 신발의 재고가 있는지 확인하려고 합니다. 이를 수행하는 한 가지 방법은 in 운영자.

신발 목록을 정의하여 시작하십시오.

신발 =["아디다스 ZX 플럭스", "아디다스 울트라부스트", "아디다스 가젤", "아디다스 런팔콘"]

다음으로 사용자에게 다음을 찾기 위해 신발을 삽입하도록 요청합니다.

to_find =input("어떤 신발을 찾으세요? ")

우리는 신발의 이름을 수집하기 위해 input() 문을 사용합니다. 다음으로 "if" 문을 사용하여 사용자가 입력한 신발이 신발 목록에 있는지 확인합니다.

if to_find in shoes:print("{}신발이 재고 있습니다.".format(to_find))else:print("{}신발이 재고가 없습니다.".format(to_find))

우리의 if 사용자가 입력한 신발이 목록에서 찾을 수 있는 경우 명령문이 실행됩니다. 그렇지 않으면 else 문이 실행됩니다. 코드를 사용해 보세요.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

어떤 신발을 찾으세요? 아디다스 런팔콘아디다스 런팔콘 신발이 입고되었습니다.

우리 코드는 "Adidas Runfalcon" 신발이 재고 있음을 성공적으로 식별합니다. 이로 인해 if 실행할 문입니다.

선형 검색을 사용하여 목록에서 Python 찾기

선형 검색은 목록에서 항목을 찾는 간단한 검색 알고리즘입니다. 선형 검색은 목록의 한쪽 끝에서 시작하여 목록의 모든 요소와 값을 비교합니다. 해당 값이 목록에 있는 경우 선형 검색은 항목의 위치를 ​​반환합니다.

선형 검색을 수행하는 함수를 작성하여 시작합니다.

def linear_search(array, to_find):for i in range(0, len(array)):if array[i] ==to_find:return i return -1

우리 코드는 "배열" 목록의 모든 항목을 반복하기 위해 "for" 루프를 사용합니다. 해당 항목이 발견되면 해당 항목의 인덱스 위치가 주 프로그램으로 반환됩니다. 전체 목록을 검색한 후에도 항목을 찾지 못하면 메인 프로그램에 -1을 반환합니다.

주 프로그램으로 이동하여 함수를 호출해 보겠습니다.

shoes =["Adidas ZX Flux", "Adidas Ultraboost", "Adidas Gazelle", "Adidas Runfalcon"]to_find =input("어떤 신발을 찾으세요?")found =linear_search(신발, to_find) 

이 코드는 사용자에게 찾고 있는 신발을 묻습니다. 그런 다음 코드는 linear_search 함수를 호출하여 해당 신발이 목록에 있는지 여부를 찾습니다.

마지막으로 if를 사용합니다. 신발을 찾았는지 여부를 사용자에게 알리는 문:

if found !=-1:print("{}신발이 재고가 없습니다.".format(to_find))else:print("{}신발이 재고가 없습니다.".format(to_find))

linear_search 함수가 -1을 반환하면 목록에서 항목을 찾을 수 없다는 의미입니다. 우리의 if linear_search 함수에 의해 반환된 값이 -1과 같지 않으면 명령문이 실행됩니다. 값이 -1이면 else 문이 실행됩니다.

코드를 실행해 보세요.

어떤 신발을 찾으세요? 아디다스 삼바아디다스 삼바 신발이 재고가 없습니다.

우리 코드는 목록에서 Adidas Samba 신발을 찾을 수 없습니다.

index()를 사용하여 목록에서 Python 찾기

index() 내장 함수를 사용하면 목록에서 항목의 인덱스 위치를 찾을 수 있습니다. index()를 사용하여 목록에서 신발의 위치를 ​​찾는 프로그램을 작성하십시오. .

시작하려면 신발 목록을 정의하십시오. 사용자에게 프로그램이 신발 목록에서 검색할 신발을 삽입하도록 요청합니다.

shoes =["Adidas ZX Flux", "Adidas Ultraboost", "Adidas Gazelle", "Adidas Runfalcon"]to_find =input("어떤 신발을 찾으세요?")

다음으로 index()를 사용합니다. 해당 신발의 목록 인덱스 위치를 반환하는 메서드:

try:found =shoes.index(to_find) print("{} 신발이 재고가 있습니다. 신발 목록의 색인 위치 {}에 있습니다.".format(to_find, found))except:print(" {} 신발이 재고가 없습니다.".format(to_find))

index() 메소드는 목록에서 항목을 찾을 수 없는 경우 ValueError를 반환합니다. 이것이 "try...except" 블록의 일부로 사용하는 이유입니다.

신발을 찾을 수 없으면 ValueError가 발생합니다. 이 시점에서 "except" 블록이 실행됩니다. 신발이 발견되면 "try" 블록이 성공적으로 실행됩니다.

코드 실행:

어떤 신발을 찾으세요? Adidas Gazelle아디다스 가젤 신발이 입고되었습니다. 신발 목록에서 색인 위치 2에 있습니다.

코드는 Adidas Gazelle 신발이 재고 있음을 성공적으로 식별합니다. 또한 우리 프로그램은 해당 신발이 목록에 저장된 위치를 알려줍니다.

목록 이해를 사용하여 목록에서 Python 찾기

목록 이해를 사용하여 목록에서 특정 조건을 충족하는 여러 항목을 찾습니다.

신발 목록이 있고 Adidas 브랜드의 신발만 반품하고 싶습니다. 목록 이해를 사용하여 이 작업을 수행할 수 있습니다. 신발 목록을 정의하여 시작하십시오.

신발 =["나이키 PG 4", "아디다스 울트라부스트", "아디다스 가젤", "나이키 에어맥스 베로나"]

다음으로 "Nike"라는 단어가 포함된 모든 신발을 검색하는 목록 이해를 작성합니다. 목록 이해는 for 루프와 유사한 구문을 사용합니다.

nike_shoes =[신발에 "나이키"가 있는 경우 신발에 신는 신발]print(nike_shoes)

목록 표현식은 "신발" 목록의 모든 신발을 반복합니다. 표현식은 Nike라는 단어가 각 신발 이름에 있는지 확인합니다. 그렇다면 해당 신발이 "nike_shoes" 목록에 추가됩니다. 그렇지 않으면 아무 일도 일어나지 않습니다.

코드를 실행해 보겠습니다.

['나이키 PG 4', '나이키 에어맥스 베로나']

우리 코드는 Nike 신발 목록을 반환합니다.

결론

목록에서 항목을 찾는 방법에는 여러 가지가 있습니다. 가장 널리 사용되는 방법은 다음과 같습니다.

  • in 사용 회원 교환원
  • 선형 검색 사용
  • index() 사용 방법
  • 목록 이해 사용

이제 전문 코더처럼 Python 목록에서 항목을 검색할 준비가 되었습니다!