세트 함축은 리스트를 생성할 때 사용한 대괄호 기호([]) 대신, 중괄호 기호({ })를 사용했기 때문에 세트가 생성되었다는 것을 기억하자.
추가로 a_list 안의 항목 중 양수 값의 제곱수로 이루어진 세트를 만든다고 해 보자. 결과는 {25, 4}가 될 것이다. 이런 경우 다음과 같이 코드를 작성할 수 있다.
my_set = {i * i for i in a_list if i > 0}
딕셔너리 함축은 조금 더 복잡하다. 루프를 순회할 때 다음 문법을 사용하여 키-값의 쌍을 생성해야 하기 때문이다.
key : value
다음과 같이 데이터 딕셔너리의 기초가 될 튜플로 이루어진 리스트를 가지고 있다고 해 보자.
vals_list = [ ('pi', 3.14), ('phi', 1.618) ]
딕셔너리는 다음과 같이 생성할 수 있다.
my_dict = { i[0]: i[1] for i in vals_list }