Try, Except 구문 이용 동일 원소 개수 세기
알고리즘 문제를 풀다 보면 리스트에서 동일 원소의 개수를 셀 일이 있는데, 이 때 try, except 구문을 이용하면 편리하다.
try :
예외가 발생할 가능성이 있는 코드
except :
예외가 발생했을 때 실행할 코드
결과를 확인하기 위해서는 딕셔너리 형태의 출력으로 받아보면 된다.
num_list = [10, 9, 9, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 3, 3, 2]
# result dictionary 생성
res = {}
for i in num_list :
try : res[i] += 1
except : res[i] = 1
print(res)
>>> {10: 1, 9: 2, 8: 3, 7: 4, 6: 4, 5: 4, 4: 3, 3: 2, 2: 1}
딕셔너리 정렬 하기
딕셔너리를 정렬할 때는 아래 코드를 이용하면 된다.
sorted(dict.items())
sorted 메서드를 이용하면 dictionary 키-밸류쌍이 튜플 형태로 묶이면서 리스트 안에 들어가게 되는데 이를 바탕으로 정렬을 진행한다. list와 마찬가지로 reverse = True를 이용하면 내림차순으로 볼 수 있다.
sorted_dict = sorted(dict.items(), key = lambda x : x[1], reverse = True)
위 코드를 이용하면 딕셔너리의 value 값을 기준으로 내림차순 정렬이 되는 것을 확인할 수 있다.
(위 코드에서 의미하는 key는 딕셔너리의 key가 아님!)
'딥러닝 기초 > Python' 카테고리의 다른 글
파이썬 __str__ , __repr__의 차이 (2) | 2024.10.03 |
---|---|
(ast 모듈) 파이썬 리스트 원소 타입 변경 : 문자열 [1, 2, 3, 4]가 입력으로 들어오는 경우 (1) | 2024.04.04 |
Python 들어오는 개별 숫자로 전체 숫자 구성하기 (0) | 2024.01.04 |
Python 리스트 원소 뒤집기 (0) | 2024.01.04 |