본문 바로가기
파이썬

파이썬 Python의 목록에 대해 사용자 입력 테스트

by º기록 2020. 10. 30.
반응형

사용자 입력이 목록의 요소와 동일한 지 테스트해야합니다. 지금이 작업을 수행하고 있습니다.

cars = ("red", "yellow", "blue")
guess = str(input())

if guess == cars[1] or guess == cars[2]:
        print("success!")

그러나 나는 더 큰 목록으로 작업하고 있으며 내 if 문은 이러한 모든 검사로 많이 증가하고 있으며 다음과 같은 여러 인덱스를 참조하는 방법이 있습니까?

if guess == cars[1] or cars[2]

또는

if guess == cars[1,2,3]

목록 문서를 읽고 나는 위에서 시도한 것과 같이 둘 이상의 색인을 참조하는 것이 불가능하다는 것을 알았습니다. 물론 구문 오류를 보냅니다.

 

해결 방법

 

가장 간단한 방법은 다음과 같습니다.

if guess in cars:
    ...

그러나 목록이 방대하다면 느릴 것입니다. 그런 다음 자동차 목록을 세트에 저장해야합니다.

cars_set = set(cars)
....
if guess in cars_set:
    ...

어떤 것이 세트인지 확인하는 것이 목록에 있는지 확인하는 것보다 훨씬 빠릅니다 (하지만 이것은 많은 항목이 있고 여러 번 확인하는 경우에만 문제가됩니다.)

(편집 : 질문의 코드에서 cars [0] 가 누락 된 것이 사고라고 가정하고 있습니다. 그렇지 않은 경우 cars [1 :] 대신 cars .)

 

참조 페이지 https://stackoverflow.com/questions/3944655

 

 

반응형

댓글