더북(TheBook)

BETTER WAY 11
이터레이터를 병렬로 처리하려면 zip을 사용하자

 

 

파이썬에서 관련 객체로 구성된 리스트를 많이 사용한다는 사실은 쉽게 알 수 있다. 리스트 컴프리헨션을 사용하면 소스 리스트(source list)에 표현식을 적용하여 파생 리스트(derived list)를 쉽게 얻을 수 있다(Better way 7 “mapfilter 대신 리스트 컴프리헨션을 사용하자” 참고).

names = [‘Cecilia’, 'Lise', ‘Marie’]

letters = [len(n) for n in names]

 

파생 리스트의 아이템과 소스 리스트의 아이템은 서로의 인덱스로 연관되어 있다. 따라서 두 리스트를 병렬로 순회하려면 소스 리스트인 names의 길이만큼 순회하면 된다.

longest_name = None

max_letters = 0

 

for i in range(len(names)):

count = letters[i]

if count > max_letters:

longest_name = names[i]

max_letters = count

 

print(longest_name)

 

>>>

Cecilia

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.