[18] Use zip to Process Iterators in Parallel
·
EffectivePython_125
오늘은 여러 리스트나 이터레이터를 동시에 다룰 때 인덱스로 접근하지 말고왜 zip을 써야 하는가에 대한 본질적인 이유와 주의점을 공부해 보자. 일단 우리가 익숙한 인덱스 접근의 문제점을 살펴보도록 하자. names = ['김도훈', '김석범생이', '유동남서북치고장구치고']counts = [len(n) for n in names]longest_name = Nonemax_count = 0for i, name in enumerate(names): count = counts[i] if count > max_count: longest_name = name max_count = count 가장 긴 이름을 가진 단어와 그 길이를 구하는 코드이다. 물론 지금도 원하는 기능을 수행..
[17] Prefer enumerate over range
·
EffectivePython_125
range보다는 enumerate를 사용하라고 한다. 파이썬의 range 내장 함수는 정수 시퀀스를 순회하는 루프를 만들 때 아주 유용하다. 실제로 지금까지 많이 써오기도 했다. 하지만 리스트의 위치에 대한 오프셋을 생성하는 경우를 살펴보도록 하자. 다음은 가장 좋아하는 아이스크림 맛의 순위를 출력하는 코드를 range로 작성한 것이다. flavor_list = ["vanilla", "chocolate", "pecan", "strawberry"]for i in range(len(flavor_list)): flavor = flavor_list[i] print(f"{i + 1}: {flavor}")물론 코드는 잘 작동하지만, 리스트의 길이를 알아낸 후 배열에 인덱스로 접근하여 값을 가져오는 과정이..
[01] Know Which Version of Python You're Using
·
EffectivePython_125
파이썬을 효과적으로 사용하기 위한 125가지 방법들에 관한 책을 읽으며 새롭게 알게 된 것들을 정리해보자. 하루에 한개, 4달이면 파이썬 마스터가 될 수 있길 바라며 1일차 시작. 출처 : https://effectivepython.com/ Effective Python › The Book: Third EditionEffective Python will prepare you to make a big impact with Python.effectivepython.com 1. The Zen of Python, by Tim Petersimport this 를 실행하면, Zen of Python을 볼 수 있다. 마음속에 새겨놓자.Beautiful is better than ugly.Explicit is bett..