어떤 버전의 코드가 더 읽기 쉬운가를 생각해보자.1번보다 2번이 의도를 명확하게 보여준다. 시퀀스를 읽어서 개수를 세거나 어떤 항목을 골라내거나 합계를 구하는 등 for 루프는 아주 다양한 일에 사용할 수 있다. 1번에서는 for 루프를 이용해서 리스트를 만든다. 이와
map()과 filter() 함수를 이용해서 수행할 수 있는 작업은 기능적으로 문제가 있는 파이썬 람다를 억지로 끼워 넣지 않고도 지능형 리스트를 이용해서 모두 구현할 수 있다.필자는 map()/filter()를 조합한 방법이 지능형 리스트보다 빠르다고 생각하고 있었지
지능형 리스트는 두 개 이상의 반복 가능한 자료형의 데카르트 곱을 나타내는 일련의 리스트를 만들 수 있다. 데카르트 곱 안에 들어 있는 각 항목은 입력으로 받은 반복 가능한 데이터의 각 요소에서 만들어진 튜플로 구성된다. 생성된 리스트의 길이는 입력으로 받은 반복 가능
튜플, 배열 등의 시퀀스형을 초기화하려면 지능형 리스트를 사용할 수도 있지만, 다른 생성자에 전달할 리스트를 통째로 만들지 않고 반복자 프로토콜을 이용해서 항목을 하나씩
튜플은 레코드를 담고 있다. 튜플의 각 항목은 레코드의 필드 하나를 의미하며 항목의 위치가 의미를 결정한다. 튜플은 단지 불변 리스트로 생각한다면 경우에 따라 항목의 크기와 순서가 중요할 수도 있고 그렇지 않읋 수도 있다. 그러나 튜플을 필드의 집합으로 사용하는 경우에