반응형
사용자 입력이 목록의 요소와 동일한 지 테스트해야합니다. 지금이 작업을 수행하고 있습니다.
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Pandas에서 null 값을 삭제하는 방법은 무엇입니까? (0) | 2020.10.30 |
---|---|
파이썬 아나콘다의 기본 파이썬 경로를 설정하는 방법은 무엇입니까? (0) | 2020.10.30 |
파이썬에서 int를 문자열로 캐스팅 (0) | 2020.10.30 |
파이썬 Python 3, gzip 파일에서 압축 된 json 객체 읽기 / 쓰기 (0) | 2020.10.30 |
파이썬 dtype ( 'O')에서 dtype ( 'float64')으로 배열 데이터를 캐스트 할 수 없습니다. (0) | 2020.10.30 |
댓글