C-log

💡✨중간점검 : sort, reverse 그리고 slicing 본문

🧠Algorithm/Baekjoon💡

💡✨중간점검 : sort, reverse 그리고 slicing

4:Bee 2023. 12. 23. 22:52
728x90

sort함수 사용하기

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N}")
N.sort()
print(N.sort())
print(f"{type(N[0])} -> {N}")
 
<class 'int'> -> [3, 6, 2]
None
<class 'int'> -> [2, 3, 6]

sort를 사용하고 난 후의 N의 list가 정렬이 되어 있는 모습을 확인 할 수 있다. print(N.sort())를 사용하면 아무것도 반환되지 않는 것을 확인 할 수 있다.  사실상 여기서 sort를 두번 호출 했다. 위에서 부터 print(N.sort())까지 해서 총 2번을 호출 한 것이다. 이를 꼭 기억해두자.

reverse함수 사용하기

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N}")
N.reverse()
# print(N.reverse())  #None
print(f"{type(N[0])} -> {N}")
 
<class 'int'> -> [3, 6, 2]
<class 'int'> -> [2, 6, 3]

revers함수 또한 sort를 사용하는 방법과 동일하다. 마지막으로 list의 slicing을 확인하자

list의 slicing 확인하기

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[::]}")
 
<class 'int'> -> [3, 6, 2]
 

list의 slicing을 하기 위해서는 '[]'괄호 속에 ':' 를 이용하면 된다. 각 매개변수는 [start:end:step]으로 이루어져 있다. 이를 활용해서 slicing한 코드의 결과는 아래와 같다.

 
N = [3, 6, 2]   # index 0, 1, 2
print(f"{type(N[0])} -> {N[1:2:]}")
 
<class 'int'> -> [6]
 

시작을 index 1에서 부터 index 2까지의 범위이다. 마지막 까지의 index는 제외하고 시작 부터의 값이 print된다. 만약 끝까지 값을 확인하고 싶다면 아래와 같이 하면된다.

 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[1:3:]}")
 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[1::]}")
 
<class 'int'> -> [6, 2]

이 둘의 방식은 동일하다. 마지막으로 step의 활용을 확인하고 마치겠다.

 
N = [1, 2, 3, 4, 5, 6]
print(f"{type(N[0])} -> {N[::2]}")
 
<class 'int'> -> [1, 3, 5]
 
N = [3, 6, 2]
print(f"{type(N[0])} -> {N[::-1]}")
 
<class 'int'> -> [2, 6, 3]
 

첫번째 방식은 step이 2만큼 씩 해당 list index가 움직인다. 따라 index 0부터 +2만큼 index를 확인하면 된다. 즉, index 0,2,4 자리에 있는 값들을 확인하면 된다.

마지막으로 -1만큼의 step은 reverse와 같은 모습이다. 즉, 거꾸로 index를 계산한 것이다.

728x90
Comments