파이썬 리스트 범위 지정, 슬라이싱
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]가 있습니다.
끝까지 읽어주셔서 감사합니다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
2751번 파이썬 코테 속도 메모리 줄이기 stdin stdout '\n' (0) | 2020.09.02 |
---|---|
백준 2751 주석 설명 / 파이썬 heap sort 힙 소트 구현 (0) | 2020.09.02 |
파이썬의 강력한 모듈, 라이브러리 itertools (0) | 2020.08.18 |
[중요]파이썬 설치할 때 꼭 해야하는 것 설치법 (0) | 2020.07.20 |
파이참 가상환경 오류 ModuleNotFoundError: No module named 'rest_framework' (0) | 2020.07.06 |