#첫 글자가 'S'인 도시는 제외시키기
cities =["Tokyo","Shanghai","Jakarta","Seoul","Guangzhou","Beijing","Karachi","Shenzhen","Delhi"]
a=[]
for i in range(len(cities)) :
if cities[i][0]!='S':
a.append(cities[i])
print(a) #['Tokyo', 'Jakarta', 'Guangzhou', 'Beijing', 'Karachi', 'Delhi']
위 코드를 컴프리헨션으로 표기하기
cities =["Tokyo","Shanghai","Jakarta","Seoul","Guangzhou","Beijing","Karachi","Shenzhen","Delhi"]
print([cities[i] for i in range(len(cities)) if (cities[i][0]!='S')]) #['Tokyo', 'Jakarta', 'Guangzhou', 'Beijing', 'Karachi', 'Delhi']
#다음과 같은 도시, 인구수가 튜플의 리스트로 주어졌을때, 키가 도시, 값이 인구수인 딕셔너리를 작성해 보세요.
population_of_city = [('Tokyo',36923000),('Shanghai',34000000),('Jakarta',30000000),('Seoul',25514000),('Guangzhou',25000000),(
'Beijing',24900000),('Karachi',24300000), ('Shenzhen',23300000),('Delhi',21753486)]
a={}
for x in range(len(population_of_city)):
a.update({population_of_city[x][0]:population_of_city[x][1]})
print(a)
위 코드를 컴프리헨션으로 표기하기
population_of_city = [('Tokyo',36923000),('Shanghai',34000000),('Jakarta',30000000),('Seoul',25514000),('Guangzhou',25000000),(
'Beijing',24900000),('Karachi',24300000), ('Shenzhen',23300000),('Delhi',21753486)]
print({population_of_city[x][0]:population_of_city[x][1] for x in range(len(population_of_city))})
컴프리헨션을 이용하여 식사메뉴(토마토라면,치킨,쌀국수) 1개와 사이드메뉴(새우고로케,골뱅이소면,분짜) 1개씩 고르는 모든 경우의 수 출력하기
print([(x,y) for x in ['토마토라면','치킨','쌀국수'] for y in ['새우고로케','골뱅이소면','분짜']])
'''
결과 : [('토마토라면', '새우고로케'), ('토마토라면', '골뱅이소면'), ('토마토라면', '분짜'), ('치킨', '새우고로케'), ('치킨', '골뱅이소면'), ('치킨', '분짜'), ('쌀국수', '새우고로케'), ('쌀국수', '골뱅이소면'), ('쌀국수', '분짜')]
'''
복잡한 이해 또는 Generator는 읽기 어려울 수 있다..
print([x for x in range(10)])
print({(x,y) for x in range(10) for y in range(10)})