더북(TheBook)

스트라이딩한 다음 슬라이싱을 하면 데이터를 한 번 더 얕게 복사(shallow copy)하게 된다. 첫 번째 연산은 결과 슬라이스의 크기를 가능한 한 줄일 수 있어야 한다. 프로그램이 이 두 단계 연산에 필요한 시간과 메모리를 감당할 수 없다면 itertools 내장 모듈의 islice 메서드를 고려하라(Better way 36: ‘이터레이터나 제너레이터를 다룰 때는 itertools를 사용하라’ 참고). islice는 읽기에 더 깔끔하며 시작, 끝, 증가값에 음수를 사용할 수 없다.

기억해야 할 내용

• 슬라이스에 시작, 끝, 증가값을 함께 지정하면 코드의 의미를 혼동하기 쉽다.

• 시작이나 끝 인덱스가 없는 슬라이스를 만들 때는 양수 증가값을 사용하라. 가급적 음수 증가값은 피하라.

• 한 슬라이스 안에서 시작, 끝, 증가값을 함께 사용하지 말라. 세 파라미터를 모두 써야 하는 경우, 두 번 대입을 사용(한 번은 스트라이딩, 한 번은 슬라이싱)하거나 itertools 내장 모듈의 islice를 사용하라.

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