반응형

list라는 리스트에 1,2,3,4,5가 들어있다고 가정하겠습니다.

list = [1, 2, 3, 4, 5

 

* print(list[0:4])

결과 : [1,2,3,4]

설명 : 이렇게 나오는 이유는 0번째 인덱스 값부터 세번째 인덱스 값까지의 값이 출력되기 때문입니.

 

* print(list[-4:-2])

결과 : [2, 3]

설명 : 뒤에서 네 번 째 부터 뒤에서 두 번 째 값까지 출력합니다. 즉 -4, -3 번 째에 있는 값만 출력합니다. 슬라이싱을 할 때는 항상 뒤에 있는 인덱스는 포함하지 않습니다.

 

* print(list[-4:0]) 또는 print(list[-4:-0])

결과 : []

설명 : 이렇게 사용하시면 오류가 납니다. 뒤에 0 또는 -0이 들어갈 수 없습니다.

 

* print(list[:2])

결과 : [1, 2]

설명 : 앞에 아무 값도 넣지 않고 끝을 2로 하면 인덱스 2 직전까지 출력하라는 것입니다. 즉 인덱스 0과 인덱스 1이 출력됩니다.

 

* print(list[0:4:2])

결과 : [1, 3]

설명 : 사실 이번 글을 적게 된 이유인데, 뒤에 콜론을 하나 더 찍고 그 뒤에 적는 숫자는 간격을 의미합니다. 기존에 [0:4]였다면 0번째 인덱스부터 세 번째 인덱스까지 출력하는 것이지만, 뒤에 2를 붙였다면 두 칸씩 띄워가며 출력하라는 것입니다. 첫 번째 인덱스부터 시작해서 하나 띄고 세 번째 인덱스 그리고 다섯 번째 인덱스를 출력해야 하는데 범위가 4까지이므로 세 번째 인덱스까지 출력합니다.

 

* print(list[::-1])

결과 : [5, 4, 3, 2, 1]

설명 : 뒤에서부터 하나씩 자르면서 출력합니다. 하나씩 자른다는 것은 의미가 없으므로 뒤에서부터 차례대로 출력한다고 보시면 될 것 같습니다.

이 것에 대한 참고 문제는 백준 사이트의 [진법 변환 2]가 있습니다.

 

끝까지 읽어주셔서 감사합니다.

 

반응형

+ Recent posts