3.16 딕셔너리와 세트의 함축
리스트 함축 원칙은 세트와 딕셔너리까지 확장된다. 세트는 데이터의 중복을 허용하지 않고 순서가 보장되지 않는 단순한 컬렉션이기 때문에 함축 원칙을 확인하기가 무척 쉽다.
예를 들어 a_list의 양수 값만 선택하여 리스트 대신 세트에 저장한다고 가정해 보자. 그러면 다음과 같이 평범한 루프로 작성할 수 있을 것이다.
a_list = [5, 5, 5, -20, 2, -1, 2]
my_set = set( )
for i in a_list:
if i > 0:
my_set.add(i)
이 코드를 세트 함축으로 표현할 수도 있다. 대괄호 기호([]) 대신 중괄호 기호({ })를 사용하면 된다.
my_set = {i for i in a_list if i > 0}
두 코드 모두 세트 {5, 2}를 만들고, 변수 my_set에 대입한다. 중복 값은 존재하지 않는다. 세트를 생성했기 때문에 중복된 항목은 자동으로 제거된다.