반응형
조건문에서 list 사용
조건문에서 DFS, BFS 등의 리스트, 큐를 활용하는 알고리즘을 사용하다보면 조건문에 리스트를 사용하는 경우가 흔하게 있다. 그런데 나는 개념이 잡혀있지 않을 때는 조금 헷갈릴 때도 있어서, visited 처럼 거의 고유명사처럼 사용되는 리스트는 아예 외워버리고는 했다.
if not visited:
그런데, 그래서 visited가 뭔데? 방문하지 않은 상황이라는 것은 알겠다만..그래서 코드 안에서 작동되는 이 visited라는 상황은 뭔데? 라는 의문이 끝없이 든 적도 있었다. (그렇게 계속 궁금하기만 했던 나 반성해..)
False, True의 조건
결국 알아냈다. 파이썬의 특성 자체였다. list에 대한 조건문에서, 비어있는 list는 False로 판단된다. 그리고 하나 이상의 원소가 있는 list라면 True로 판단된다.
또 파이썬에서는 조건식을 평가할 때, 값이 'False', 'None', '0', ' ' (빈 문자열), 빈 컨테이너(list, tuple, dictionary 등)은 False로 판단된다. 그리고 그 외의 값들은 모두 True로 판단된다.
그래서 list의 유무를 판단할 때 not을 붙여서 사용하면 가독성도 좋고, 사용하기도 편리하다.
반응형
'코딩테스트 대비 > Python 문법' 카테고리의 다른 글
| [Python] extend vs append 구분하기 (0) | 2023.10.04 |
|---|---|
| [Python] Counter (0) | 2023.09.26 |
| [Python] zip, enumerate (0) | 2023.07.24 |
| [Python] defaultdict 사용법 (0) | 2023.07.08 |
| [Python] enumerate 사용법 (0) | 2023.07.08 |