728x90
파이썬의 deque를 사용하면 1차원 리스트를 회전 시킬 수 있습니다.
deque는 왼쪽과 오른쪽 모두에서 삽입, 삭제가 가능하기 때문입니다.
rotate()함수를 사용하면 가능합니다.
인자로 넣어주는 값이 음수인지 양수인지에 따라 회전의 방향이 다릅니다.
음수는 왼쪽 양수는 오른쪽에 있어 시계방향으로 회전한다고 생각하면 외우기 쉬울것 같습니다.
from collections import deque
arr = [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
arr = deque(arr)
arr.rotate(3)
print(arr) #1
result = list(arr)
print(result) #2
결과)
deque([7, 8, 9, 1, 2, 3, 4, 5, 6]) #1
[7, 8, 9, 1, 2, 3, 4, 5, 6] #2
rotate(3)을 해서 원소 3개를 회전시켰습니다.
인자 값이 양수이면 오른쪽 회전이어서 오른쪽 원소 7, 8, 9가 빠져나와 왼쪽으로 들어갔습니다.
인자 값이 음수라면 왼쪽 회전이므로 왼쪽 원소 1, 2, 3이 빠져나와 오른쪽으로 들어가게 됩니다.
from collections import deque
arr = [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
arr = deque(arr)
arr.rotate(-3)
result = list(arr)
print(result)
결과)
[4, 5, 6, 7, 8, 9, 1, 2, 3]
728x90
'[Python]' 카테고리의 다른 글
[Python] 2차원 배열과 3차원 배열 작성법 (0) | 2022.07.14 |
---|---|
[Python] insert연산 (0) | 2022.07.13 |
[Python] 파이썬 PS를 위한 문법 정리 - 2차원 리스트 회전 (0) | 2022.07.11 |
[Python] 파이썬 max, min 함수 - max(map(max, graph)) (0) | 2022.07.06 |
[Python] 파이썬 ord함수, chr함수 차이점 (0) | 2022.07.06 |