티스토리 뷰
목차
슬라이싱 예제를 위해, 배열(리스트)에 담을 정수형 데이터 10개를 생성합니다.
1 2 3 4 5 6 7 8 9 10 11 | import random def makeRandoms(count): result = [] for i in range(count): result.append(i) #random.randrange(100)) return result ns = makeRandoms(10) print(ns) | cs |
◆ 결과
6번 라인 뒤에 주석 처리된 random.randrange(100) 소스가 있습니다. 랜덤한 숫자를 원하면 사용하시고 아니면 순차적으로 0~9까지 저장합니다.
이 파이썬 슬라이싱 예제에서는 0~9까지 10개 데이터 저장한 배열을 사용합니다.
1. 배열(리스트) 일부 출력
1 2 3 4 | print(ns[0], ns[1]) print(ns[3:7]) print(ns[3:]) print(ns[:len(ns)//2]) | cs |
◆ 결과
파이썬 배열 각괄호 사이에 인자를 넣어 일부를 출력할 수 있습니다. [3:7] 은 3번째에서 7번째란 뜻입니다.
:len(ns)//2 의미는 전체 길이를 2로 나눈 결과를 인자로 전달합니다. 그래서 0 ,1, 2, 3, 4가 출력됩니다.
2. 배열(리스트) 전체 출력하는 방법
1 2 3 4 5 | print('[1]', ns) print('[2]', ns[:]) print('[3]', ns[0:]) print('[4]', ns[:len(ns)]) print('[5]', ns[::]) | cs |
◆ 결과
[python list slicing, 음수 자르기 등]
1~5번 라인 결과가 똑같습니다. 파이썬 slice notation 하나, 두개 결과는 같습니다.
3. 짝수, 홀수 출력
1 2 | print(ns[::2]) print(ns[1::2]) | cs |
◆ 결과
슬라이싱 slice notation 두 개를 적고 앞 뒤에 인자를 넣을 수 있습니다.
::2 는 0::2와 똑같습니다. 인덱스 0번 부터 2개씩 건너뛰며 값을 출력합니다.
1::2는 1번째 인덱스에서 시작해 2개씩 건너뛰며 값을 출력합니다.
[python list slicing, 음수 자르기 등]
4. 배열(리스트)을 거꾸로 역순 출력
1 2 3 4 5 | print(ns[::-1]) print(ns[: len(ns)//2-1:-1]) print(ns[:-len(ns)//2-1:-1]) print(ns[ len(ns)//2-1::-1]) print(ns[-len(ns)//2-1::-1]) | cs |
◆ 결과
[python list slicing, 음수 자르기 등]
::-1 뜻은 거꾸로 출력한다는 뜻입니다. 배열 길이를 2로 나눠 거꾸로 역순 출력하는 예제입니다.
5. 배열(리스트) 거꾸로 역순 + 홀수 짝수 출력
1 2 | print(ns[::-2]) print(ns[-2::-2]) | cs |
◆ 결과
파이썬 예제 3번, 4번을 합친 형태입니다. 역순 출력하면서 홀수, 짝수를 구분합니다. :: 슬라이싱 앞 뒤로 음수 인덱스를 전달합니다.
[python list slicing, 음수 자르기 등]
6. 문자열 응용, 일부, 거꾸로 출력
1 2 3 4 5 | t = 'academy' print(t[::-1]) print(t[ ::2]) print(t[1::2]) | cs |
◆ 결과
[python list slicing, 음수 자르기 등]
문자열 변수 t 를 선언합니다. 거꾸로 출력, 짝수 인덱스만 출력, 홀수 인덱스만 출력한 결과입니다.
이상 파이썬 배열 다루는 슬라이싱 예제 6개였습니다. 이외에도 응용 예제 많으니 효율적은 코드 구성해 보세요.
관련 글
▷ 파이썬 2 3 차이 4가지 (python print, int, float, string unicode)
▷ 파이썬 수치 연산자, 시퀀스 연산자 (Python Operator 2개)
▷ 파이썬 SQLite3 자료형 정리 (Python DB)
ⓒ written by vicddory