리스트를 뒤에서부터 앞으로 접근하는 방법 좀 알려주세요

조회수 11784회

array = [0,10,20,40]를 뒤에서부터 40->20->10->0 순으로 접근하고 싶습니다.

C++에서는 for (i = array.length() - 1 ;i >= 0; i--) 같이 썼는데

파이썬에서 for i in list같이 쓰면서 뒤에서 접근하는 방법 없을까요?

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    1. reversed 함수

    array=[0,10,20,40]
    for i in reversed(array):
        print i
    

    reversed()함수는 list가 아닌 list_reverseiterator를 return 합니다. 뒤집힌 listreturn하고 싶을 때는 list(reversed(array))로 써야 합니다.

    2. slicer

    L[::-1]가 L을 뒤집은 list [40, 20, 10, 0]를 return 한다는 성질을 이용하는 방법입니다.

    L = [0,10,20,40]
    for i in L[::-1]:
        print i
    
    • 혹시 두 함수에 있어서 1. reverse된 완전 새로운 리스트를 생성하거나 2. 단순 데이터를 거꾸로 읽는 등에서 공간 활용의 차이가 있을 것 같은데, 차이가 있나요? 김진형 2023.3.27 15:13

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)