Python - 리스트 역순으로 순회

리스트를 순회할 때, 역순으로 순회하는 방법을 소개합니다. for문 같은 반복문으로 순회할 때, 거꾸로 순회하는 할 수 있습니다.

1. reversed()를 이용한 방법

reversed()는 인자로 전달된 리스트의 순서를 역순으로 변경된 새로운 리스트를 리턴합니다. 이 리스트로 순회하면 역순으로 순회할 수 있으며, 원본 리스트는 변경되지 않습니다.

my_list = ['a', 'b', 'c', 'd']

for element in reversed(my_list):
    print(element)

print(my_list)

Output:

d
c
b
a
['a', 'b', 'c', 'd']

Index도 함께 출력하고 싶다면 아래와 같이 enumerate()를 사용하시면 됩니다.

my_list = ['a', 'b', 'c', 'd']

for index, element in enumerate(reversed(my_list)):
    print(index, element)

Output:

0 d
1 c
2 b
3 a

2. List slicing을 이용한 방법

다음과 같이 List slicing을 이용하여 역순으로 리스트를 순회할 수 있습니다. 이것도 원본 리스트는 변경되지 않습니다.

my_list = ['a', 'b', 'c', 'd']

for element in my_list[::-1]:
    print(element)

Output:

d
c
b
a

3. range()를 이용한 방법

range(start, end, step)는 start에서 end 사이에 step 간격에 해당하는 숫자를 리스트로 리턴합니다. 이렇게 역순의 인덱스를 만들어서 인덱스로 접근합니다.

my_list = ['a', 'b', 'c', 'd']

for index in range(len(my_list)-1, -1, -1):
    print(index, my_list[index])

Output:

3 d
2 c
1 b
0 a

4. list.reverse()를 이용한 방법

list.reverse()는 리스트의 요소 순서를 역순으로 변경합니다. 그리고 리스트를 순회하면 역순으로 순회가 됩니다. 이 방법은 리스트 자체의 순서를 변경하는 것이기 때문에, 리스트가 변경되지 않는 위의 방법들과는 다릅니다.

my_list = ['a', 'b', 'c', 'd']
my_list.reverse()

for element in my_list:
    print(element)

print(my_list)

Output:

d
c
b
a
['d', 'c', 'b', 'a']
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha