[Python] 파이썬 시퀀스#2

아직·2022년 6월 8일
0
post-thumbnail

1)
Input

source = (('k1', 'val1'),
          ('k1', 'val2'),
          ('k2', 'val3'),
          ('k2', 'val4'),
          ('k2', 'val5'))

#setdefault 사용
for k,v in source:
    new_dict2.setdefault(k, []).append(v)
#dict 사용    
new_dict3 = {k : v for k, v in source}

Output

{'k1': ['val1', 'val2'], 'k2': ['val3', 'val4', 'val5']} #출력
{'k1': 'val2', 'k2': 'val5'}

setdefault는 "k는 디폴트로 사용하고 다음에 오는 애들은 리스트 형태로 붙여줘~" 정도의 주문인데, 아래는 source에 k1, k2/v1, v2와 같이 값이 여러 개일 경우, key가 중복될 때마다 값이 초기화된다.

0개의 댓글