본문 바로가기
Python

파이썬 중급 #106 collections 모듈 -deque(데크) 모듈-rotate(n)

by Smart Factory in 2020 2022. 7. 25.
728x90
반응형

안녕하세요. 스마트 팩토리입니다. 
파이썬 중급 #106 collections 모듈 -deque(데크) 모듈-rotate() 에 대해 알아보겠습니다. 

 

1.  deque()- ratate(n)

-appendleft()함수 
- 왼쪽으로 요소값을 추가

-ratate(n)함수
-n 값 만큼 회전해 주는 메소드
- n>0 이면 오른쪽으로 회전
-n<0 이면  왼쪽으로 회전
 

 

from collections import deque

deque_list=deque()
print(deque_list)

빈 데크를 생성합니다. 


for i in range(5):
    deque_list.appendleft(i)
print(deque_list)

요소를 왼쪽으로 추가해 줍니다. 


deque_list.rotate(2)
print(deque_list)

rotate(n) 즉 요소값을 원형으로 주어졌다 생각하면 n 만큼 회전한다.

rotate(2) 는 0이 오고 다음 1 까지 온다. 

  즉 원본 값 4 3 2 1 0  - 1회전시  0, 4,3,2,1,(오른쪽 끝 값이 왼쪽 끝으로 온다. ) - 2회전시 1,0,4,3,2 (오른쪽 끝값이 왼쪽으로 온다.)

deque_list.rotate(1)
print(deque_list)

 

이번에는  rotate(1)은 오른쪽 요소 하나(2)가 왼쪽끝으로 온 것을 볼 수 있다.

요소를 회전한다는 개념으로 볼수 있다.

deque_list.rotate(-3)
print(deque_list)

 

음수인 경우는 후진한다고 보면 된다. 

즉 첫번째 요소를 뒤로 보내면 된다. 첫번째 요소를 맨 뒤로 보내면 된다. 

순차적으로 보내면 

 처음 2,1,0,4,3, 

rotate(-1) 1,0,4,3 ,2
rotate(-2) 0,4,3,2,1
rotate(-3)  4,3,2,1,0 이 된다. 

 

 

from collections import deque

deque_list=deque()
print(deque_list)
for i in range(5):
    deque_list.appendleft(i)
print(deque_list)

deque_list.rotate(2)
print(deque_list)
deque_list.rotate(1)
print(deque_list)
deque_list.rotate(-3)
print(deque_list)
728x90
반응형

댓글