본문 바로가기
  • 시 쓰는 개발자
프로그래밍 문법/Python 헷갈리는 문법들

헷갈리는 문법 정리 (2) - isdigit, Counter, if-else

by poetDeveloper 2022. 12. 12.

1. python의 sort()함수는 기본적으로 stable하다.

즉, 우선 순위가 같은 데이터에 대해서 정렬 후의 결과가 바뀌지 않는다.

2. str.isdigit()

문자열이 숫자인지 판단할 떄 isdigit() 함수를 이용하는데, 정확히는 숫자로만 이루어져있는지 확인하는 함수이다. 따라서 문자가 단 하나라도 있으면 False, 문자열의 모든 문자가 숫자로만 이루어져있으면 True를 반환한다.

str.isdigit("100won") # False
str.isdigit("100") # True

3. collections의 Counter함수★

Counter는 "리스트"를 값으로 주게 되면 각 원소들이 몇 번 등장했는지 세어 딕셔너리 형태로 반환한다.

from collections import Counter

ex1)
입력 - print(Counter("hello world"))
출력 - Counter({'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1})

ex2)
입력 - print(Counter(["hi", "hey", "hi", "hi", "hello", "hey"]))
출력 - Counter({'hi': 3, 'hey': 2, 'hello': 1})

4. if-else 관계 주의

Q. while문에서 if 조건을 만족해서 해당 if를 처리하면 continue처럼 위로 올라가는지??

if(a) { A }
else(b) { B }
if(c) { C }  ==>> else if도 마찬가지

이런 if-else 구조에서, a를 만족하면 A블록을 실행하고, B는 건너뛰고, c조건이 만족하는지 검사한다. if-else로 묶여서 if가 만족하면 else는 실행되지 않고 건너뛴다.