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