Comprehensions

Taeha Kim·2020년 8월 1일
0

python

목록 보기
3/3

Comprehensions

Comprehension(컴프리헨션)은 파이썬이 가지고 있는 톡특한 문법입니다.
사전적 의미로는 포함, 함축의 의미로 List(리스트), Dictionary(딕셔너리), Set(세트)를 만들때 사용합니다.

컴프리헨션은 for 문만 사용해서 표현할 수도 있고, if 문과 같이 조건문을 사용해서 표현할 수 있습니다.

List Comprehension (리스트 컴프리헨션)

[ 표현식 for 원소 in 반복 가능한 객체 ]

[ 표현식 for 원소 in 반복 가능한 객체 if]

Set comprehension (세트 컴프리헨션)

{ 표현식 for 원소 in 반복 가능한 객체 }

{ 표현식 for 원소 in 반복 가능한 객체 if}

Dictionary Comprehension (딕셔너리 컴프리헨션)

{: 벨류 for 원소 in 반복 가능한 객체 }

{: 벨류 for 원소 in 반복 가능한 객체 if}

아무래도 이렇게 끝내는것 보다는 코드를 보시고 따라 해보는게 이해하기 쉬울겁니다.


문제1) 다음과 같은 도시목록의 리스트가 주어졌을때, 도시이름이 S로 시작하지 않는 도시만 리스트로 만들 때 리스트 컴프리헨션을 사용하여 함수를 작성해 보세요.

cities =["Tokyo", "Shanghai", "Jakarta", "Seoul", "Guangzhou", 
"Beijing", "Karachi", "Shenzhen", "Delhi"]

풀이

solution=[ i for i in cities if i[0]=='S']
print(solution)

#실행결과
['Shanghai', 'Seoul', 'Shenzhen']

문제2) 다음과 같은 도시, 인구수가 튜플의 리스트로 주어졌을때,
키(key)가 도시, 값(value)이 인구수인 딕셔너리를 딕셔너리 컴프리헨션을 사용한 함수를 작성해 보세요.

population_of_city = [('Tokyo', 36923000), ('Shanghai', 34000000),
('Jakarta', 30000000), ('Seoul', 25514000), ('Guangzhou', 25000000),
('Beijing', 24900000), ('Karachi', 24300000 ), ( 'Shenzhen', 23300000),
('Delhi', 21753486) ]

풀이


solution={ i[0]:i[1] for i in population_of_city}
print(solution)

#실행결과
{'Tokyo': 36923000, 'Shanghai': 34000000, 'Jakarta': 30000000, 
'Seoul': 25514000, 'Guangzhou': 25000000, 'Beijing': 24900000,
'Karachi': 24300000, 'Shenzhen': 23300000, 'Delhi': 21753486}
profile
함께 성장하는 개발자가 되고 싶습니다.

0개의 댓글