반응형
질문
파이썬에서 range()
를 사용하여 다음과 같은 리스트를 어떻게 생성할 수 있을까요?
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
답변
사용하려면 reversed()
함수를 사용하세요 (효율적인 이유로 range
는 __reversed__
를 구현합니다):
reversed(range(10))
이것이 훨씬 의미가 있습니다.
업데이트: list
캐스트
만약 list
로 만들고 싶다면 (@btk가 지적한 대로):
list(reversed(range(10)))
업데이트: range
만 사용하는 해결책
동일한 결과를 얻기 위해 range
만 사용하려면 모든 매개변수를 사용할 수 있습니다. range(start, stop, step)
예를 들어, 리스트 [3, 2, 1, 0]
을 생성하려면 다음을 사용할 수 있습니다:
range(3, -1, -1)
이 방법은 덜 직관적일 수 있지만, 더 적은 텍스트로 동일한 결과를 얻을 수 있습니다. @Wolf의 이 답변은 이 접근 방식이 reversed
보다 약간 더 빠르다고 말합니다.
반응형
댓글