본문 바로가기
Python/Python FAQ

Python 객체가 리스트 또는 튜플인지 (하지만 문자열은 아닌지) 확인하는 방법은 무엇인가요?, How to check if an object is a list or tuple (but not string)?

by 베타코드 2023. 10. 29.
반응형

질문


이는 입력이 list/tuple이지만 str은 아님을 확인하기 위해 일반적으로 수행하는 작업입니다. 때때로 함수가 실수로 str 객체를 전달하는 버그를 발견하곤 하는데, 대상 함수는 lst가 실제로 list 또는 tuple임을 가정하고 for x in lst를 수행합니다.

assert isinstance(lst, (list, tuple))

제 질문은: 이를 더 잘 달성할 수 있는 방법이 있을까요?


답변


파이썬 2에서만 (파이썬 3에서는 아님):

assert not isinstance(lst, basestring)

이게 실제로 원하는 것이에요. 그렇지 않으면 listtuple의 하위 클래스가 아니지만 리스트처럼 동작하는 많은 것을 놓칠 수 있어요.

반응형

댓글