05의 개발 계발

[TIL] 230403 [Python] 배열 뒤집기 _feat( [::] 슬라이싱) 본문

TIL

[TIL] 230403 [Python] 배열 뒤집기 _feat( [::] 슬라이싱)

생각하는 코댕이 2023. 4. 3. 17:42
728x90

최빈값 구하기

내 코드

def solution(num_list):
    num_list.reverse() # .reverse() 내장 메소드 사용
    return num_list

흠..터레스팅 코드

#1번
def solution(num_list):
    result =[]
    while(num_list):
        result.append(num_list.pop()) # pop메소드의 뒤에서부터 추출함을 이용 stack 구조!
    return result
#2번
def solution(num_list):
    return num_list[::-1]	#[::]슬라이싱을 이용한 깊은 복사, step에 -1을 주어 역순으로 출력!

새로 알게된 것

새로알게된 것은 아니지만, [::] 에 대해 한 번 정리하도록 하자

코드 들어가는 인자(Argument) 설명 비고
[::] [start : end : step] [ 슬라이싱 시작위치 : 슬라이싱 끝위치 : 슬라이싱 단위 ] step : 음수는 역순을 의미
[:] [start : end ]  [슬라이싱 시작위치 : 슬라이싱 끝위치 : 생략가능 ]  

[::] 은 슬라이싱 기법으로, [start : end : step] 의 구조를 가지고 있다.
step을 생략할 경우 [start : end] 만 의미하여 [:] 로 사용한다.

[::] 는 리스트 자체를 객체처럼 전부 복사해오는 깊은복사(DeepCopy)를 의미한다.
(정확히 말하면 그렇게 보이는 것이다. 참고)

728x90