>백엔드 개발 >파이썬 튜토리얼 >Python의 `range()` 함수가 상한을 제외하는 이유는 무엇입니까?

Python의 `range()` 함수가 상한을 제외하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-13 17:15:09904검색

Why Does Python's `range()` Function Exclude the Upper Bound?

범위 함수가 상한을 제외하는 이유

Python에서 range(start, end) 함수는 시작부터 시작하는 일련의 숫자를 생성합니다. 그리고 끝나기 전에 끝나요. 이 동작은 범위에 끝이 포함될 것으로 예상하는 일부 사용자에게 혼란을 줄 수 있습니다.

이 제외 이유는 범위(0, 10)의 일반적인 사용법에 있습니다. 0부터 시작하여 사용하면 range는 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]를 반환합니다. 이는 10개의 요소가 있는 원하는 시퀀스입니다. 이는 생성된 시퀀스의 길이와 일치하여 루프 및 기타 애플리케이션에서 반복 횟수가 올바른지 확인합니다.

또한 상한을 제외하면 더 깔끔한 루프 구문이 가능합니다. 코드 조각을 고려해보세요.

for i in range(len(li)):
    pass

범위에 end가 포함된 경우 위 코드는 목록 경계 외부의 요소에 액세스하려고 시도하므로 len(li)에 도달하면 오류가 발생합니다. 상한을 제외하면 이러한 잠재적인 오류가 제거됩니다.

프로그래머는 일반적으로 i 범위가 1에서 len(li)보다 0에서 len(li) - 1인 for 루프를 사용하는 것을 선호합니다. 이는 프로그래밍에서 0 기반 인덱싱이 널리 퍼져 있기 때문입니다.

상한을 포함하려는 사용자의 경우 사용자 정의 함수를 만들 수 있습니다.

def range1(start, end):
    return range(start, end + 1)

range1(1 사용) , 10)은 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].

위 내용은 Python의 `range()` 함수가 상한을 제외하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.