본문 바로가기
C++ 200제/코딩 IT 정보

파이썬 리스트 다루는 슬라이싱 예제 6개 slicing

by vicddory 2019. 5. 15.

슬라이싱 예제를 위해, 배열(리스트)에 담을 정수형 데이터 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, 음수 자르기 등][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 슬라이싱 리스트[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번을 합친 형태입니다. 역순 출력하면서 홀수, 짝수를 구분합니다. :: 슬라이싱 앞 뒤로 음수 인덱스를 전달합니다.


파이썬 리스트 다루는 슬라이싱 예제 6개 slicing[python list slicing, 음수 자르기 등]


6. 문자열 응용, 일부, 거꾸로 출력

1
2
3
4
5
= '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

댓글