새로운 리스트를 만들 때 사용할 수 있는 간단한 표현식
1부터 10까지 담겨 있는 리스트를 만들어야 할 때, 지금까지 사용했던 방법
result_list=[] for i in range(1,11) result_list.append(i) print(result_list) #출력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list comprehension을 사용한 방법
result_list = [i for i in range(1,11)]
pyguide는 상황이 간단한 경우에 사용하기를 권장하고 있다.
cities = ["Tokyo", "Shanghai", "Jakarta", "Seoul", "Guangzhou", "Beijing", "Karachi", "Shenzhen", "Delhi" ]
My solution
def list_comprehension(cities): list_cities = [i for i in cities if i[0] != "S" return list_cities
population_of_city = [(‘Tokyo', 36923000), (‘Shanghai', 34000000), (‘Jakarta', 30000000), (‘Seoul', 25514000), (‘Guangzhou', 25000000), (‘Beijing', 24900000), (‘Karachi', 24300000 ), ( ‘Shenzhen', 23300000), (‘Delhi', 21753486) ]
My solution
def dict_comprehension(data): dict_data = {key:value for key,value in data} return dict_data