본문 바로가기
Python

Python Assignment (List comprehension)

by Adam92 2020. 6. 4.

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

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

 

code

no_s_list = [x for x in cities if x[0] != "S"]
print(no_s_list)

results

['Tokyo', 'Jakarta', 'Guangzhou', 'Beijing', 'Karachi', 'Delhi']

 

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

 

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

 

Code

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

cities_list = []
popul_num_list = []
dict_list = {}


cities_list = [ population_of_city[x][0] for x in range(0, len(population_of_city))]
popul_num_list = [ population_of_city[x][1] for x in range(0, len(population_of_city)) ]

dict_list = {key:value for key, value in zip(cities_list, popul_num_list)}

print(dict_list)

 

Results

{'Tokyo': 36923000, 'Shanghai': 34000000, 'Jakarta': 30000000, 'Seoul': 25514000, 'Guangzhou': 25000000, 'Beijing': 24900000, 'Karachi': 24300000, 'Shenzhen': 23300000, 'Delhi': 21753486}

 

 

 

'Python' 카테고리의 다른 글

Generator  (0) 2020.06.05
Iterator  (0) 2020.06.04
Python etc..  (0) 2020.06.04
Modules and Package (Feature)  (0) 2020.06.03
Modules and Package  (0) 2020.06.02