시퀀스를 입력받아 반대 순서로 뒤집어 반환하는 함수 reverse() 를 정의하라. 그리고 이 함수에 리스트, 튜플, 레인지, 문자열을 각각 입력해 결 과를 확인해 보라. 예를 들면 다음과 같다.
>>> reverse([10, 20, 30, 40])
[40, 30, 20, 10]
>>> reverse(tuple('일월화수목금토'))
('토', '금', '목', '수', '화', '월', '일')
>>> reverse(range(10))
range(9, -1, -1)
>>> reverse('파이썬 프로그래밍')
'밍래그로프 썬이파'
코드
def reverse(sequence):
"""시퀀스를 입력받아 반대 순서로 뒤집어 반환한다."""
return sequence[::-1]
# 함수의 동작 확인
print(reverse([10, 20, 30, 40]))
print(reverse(tuple('일월화수목금토')))
print(reverse(range(10)))
print(reverse('파이썬 프로그래밍'))
실행 결과
[40, 30, 20, 10]
('토', '금', '목', '수', '화', '월', '일')
range(9, -1, -1)
밍래그로프 썬이파
[::-1]
을 사용하면 된다.reversed()
도 알아두면 좋다. reversed()
는 시퀀스의 순서를 거꾸로 내어 놓는 반복자를 반환한다. 하지만 반복자의 동작은 슬라이싱 연산과는 조금 다르다. 반복자가 무엇인지는 7장에서 배울 수 있다.