파이썬 딕셔너리 컴프리헨션 이해하기
딕셔너리 컴프리헨션이란 무엇인가?
딕셔너리 컴프리헨션(Dictionary Comprehension)은 파이썬에서 딕셔너리 객체를 더 간결하고 가독성 높게 생성하는 기능입니다. 리스트 컴프리헨션의 딕셔너리 버전이라고 생각하면 됩니다. 이 기능을 이용하면 딕셔너리를 생성하는 코드를 짧고 명확하게 만들 수 있습니다.
기본 문법 및 사용 예제
딕셔너리 컴프리헨션의 기본 문법은 다음과 같습니다.
1
{key: value for item in iterable}
여기서 key
와 value
는 딕셔너리의 키와 값이며, iterable
은 반복 가능한 객체입니다. 예를 들어, 1부터 5까지의 숫자를 키로 하고, 각 숫자의 제곱을 값으로 하는 딕셔너리를 만들고 싶다면 다음과 같이 할 수 있습니다.
1
squared_dict = {x: x**2 for x in range(1, 6)}
이 코드는 squared_dict
에 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
를 할당합니다.
조건문 사용하기
딕셔너리 컴프리헨션에는 조건문을 추가할 수 있습니다. 예를 들어, 짝수만 제곱하는 딕셔너리를 만들고 싶다면 다음과 같이 작성할 수 있습니다.
1
squared_even_dict = {x: x**2 for x in range(1, 6) if x % 2 == 0}
이 코드는 squared_even_dict
에 {2: 4, 4: 16}
를 할당합니다.
주의사항과 에러
가장 흔한 에러 중 하나는 SyntaxError
입니다. 문법적인 오류가 발생할 때 이 에러가 나타납니다. 예를 들어, 딕셔너리 컴프리헨션의 중괄호 {}
를 빼먹으면 이 에러가 발생합니다.
딕셔너리 컴프리헨션은 코드를 간결하게 만들어주지만, 너무 복잡한 로직을 담으려고 하면 가독성이 떨어질 수 있습니다. 따라서 복잡한 연산은 따로 함수로 빼는 것이 좋습니다.
정리
딕셔너리 컴프리헨션은 파이썬에서 딕셔너리를 더욱 간편하게 생성할 수 있는 매우 유용한 기능입니다. 기본 문법과 조건문 사용법, 그리고 주의해야 할 사항을 알고 있다면, 이 기능을 최대한 활용하여 효율적인 코드를 작성할 수 있습니다.