Algorithm

[Python] List Comprehension to Dict

Eric_Park 2021. 8. 21. 11:41

list comprehenion 으로 dict 구조 만들기

 

#1 몸풀기

arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], ]

squared_list = [[n ** 2 for n in row] for row in arr] print(squared_list)

[[1, 4, 9], [16, 25, 36], [49, 64, 81], [100, 121, 144]]

 

#2 본론

from string import ascii_lowercase as LOWERS

dict_boy = {c: n for c, n in zip(LOWERS, range(1, 27))}

print(dict_boy)

{'a': 1, 'b': 2, 'c': 3, ..., 'x': 24, 'y': 25, 'z': 26}

 

# 출처: https://shoark7.github.io/programming/python/about-list-comprehension-python

 

#3 응용-1

- list comprehension을 사용해서 list 의 value counting 하는 dict 만들기

 

nums = [2,1,2,5,3,2]

A = dict( zip( nums, [nums.count(i) for i in nums] ) )

>>> A
{2: 3, 1: 1, 5: 1, 3: 1}

 

#3 응용-2

- key, value 값 위치 바꾸기 

A = {2: 3, 1: 1, 5: 1, 3: 1}

reversed_dict = {v:k for k,v in A.items()}

#3 응용-3

- 특정 조건을 만족하는 key or value 찾기 

condition = 3
result = [k for k, v in A.items() if v == condition ]