Devs/Python

[Python] List Comprehension, Dictionary Comprehension 알아보기

whawoo 2025. 4. 2. 17:53
반응형

파이썬에서는 다른 언어와는 다르게 List나 string 데이터를 사용하여 새로운 List데이터를 만들어 낼 수 (?) 있는 방법이 있다. 

어떤 의미인지 애매한 느낌이 조금 있긴 한데 아래의 예처럼 사용 가능하다

test = [1, 2, 3]
n_test = [n + 1 for n in test]
name = "Test"
letter_list = [letter for letter in name]

 

[ new item for item in list] 와 같은 형태로 사용하는 것으로

 

위 예시로 만들어진 n_test와 letter_list의 결과는 아래와 같다
n_test = [2, 3, 4]
letter_list = ['T', 'e', 's', 't']

 

말 그대로 데이터에 있는 각 항목을 순회하면서 새로운 리스트를 만들어 내는 것으로 보인다. 통계적으로 무언가를 계산하거나 할 때 유용하게 쓸 수 있을 것으로 보이는 기능이다

 

[new_item for item in list if test]

 

추가로 위처럼 if 문을 넣고 조건에 맞는 목록만 나오게도 할 수 있는 것으로 보인다

 

그리고 Dictionary 역시 동일한 작업을 할 수 있는데

{new_key:new_value for item in list}
{
new_key:new_value for (key, value) in dict.items()}
{
new_key:new_value for item in list if test}

딕셔너리의 경우 위와 같은 형태로 사용을 한다

반응형