안녕하세요 주니입니다.
파이썬의 데이터 타입 중 시퀀스 타입이 있습니다.
시퀀스 타입은 여러 개의 데이터를 담을 수 있는 컨테이너입니다.
담는 데이터의 타입은 상관 없습니다.
대표적인 시퀀스 타입으로 List, Tuple 그리고 range가 있습니다.
그리고 binary data와 string도 시퀀스 타입입니다.
각 타입의 고유 기능에 대해서는 별도의 주제로 공부하겠습니다.
이 글에서는 상위 카테고리인 시퀀스 타입의 연산자들에 대해서 공부하겠습니다.
시퀀스 타입 종류
- List
- Tuple
- range
- binary data
- string
시퀀스 타입 연산자들
시퀀스 타입은 두가지 유형으로 나눌 수 있습니다.
- mutable
- immutable
mutable 타입은 값의 변경이 가능한 시퀀스 타입입니다.
immutable 타입은 한번 생성된 데이터를 변경 할 수 없는 시퀀스 타입입니다.
대표적인 mutable 타입은 List이며, immutable 타입은 tuple 입니다.
코드로 차이를 확인해보겠습니다.
코드로 차이를 확인해보겠습니다.
a = [1,2,3,4] #list type b = (1,2,3,4) #tuple type a[0] = 5 print(a) b[0] = 3 #TypeError will raise print(b)
a에 List객체를 만들었습니다.
b에 tuple객체를 만들었습니다.
각 시퀀스 타입의 데이터 변경을 시도합니다.
a의 데이터는 변경한 값이 적용이됐습니다.
b의 데이터를 변경을 시도해서 TypeError 예외가 발생했습니다.
그럼 본론으로 돌아가서,
시퀀스 타입 연산자들에 대해서 알아보겠습니다.
아래 연산자들은 mutable과 immutable 모두 사용할 수 있는 연산자들입니다.
연산자 | 기능 | |||
---|---|---|---|---|
x in s | s시퀀스에 x아이템이 존재하면 true, 아니면 false | |||
x not in s | s시퀀스에 x아이템이 존재하지 않으면 true, 존재하면 false | |||
s + t | 두 시퀀스를 연결 | |||
s * n or n * s | 시퀀스 s를 n번 반복 | |||
s[i] | 시퀀스 s의 i번째 아이템, 시작은 0부터 | |||
s[i:j] | 시퀀스 s의 i부터 j전까지 부분 시퀀스 | |||
s[i:j:k] | 시퀀스 s의 i부터 j전까지 k간격을 가진 아이템들의 시퀀스 | |||
len(s) | 시퀀스 s의 길이 | |||
min(s) | 시퀀스 s의 가장 작은 아이템 | |||
max(s) | 시퀀스 s의 가장 큰 아이템 |
각 연산자에 대해서 코드로 확인 해보겠습니다.
x = 1 s = [1,2,3] t = [4,5,6] print("x = ",x) print("s = ",s) print("t = ",t) print("x in s =",x in s) print("x not in s =",x not in s) print("s + t =",s+t) print("s[0] =",s[0]) print("s[0:2] =",s[0:2]) print("(s+t)[0:7:2] =",(s+t)[0:7:2]) print("len(s) =",len(s)) print("min(s) =",min(s)) print("max(s) =",max(s))
in연산자는 문자그대로, 시퀀스에 해당 데이터가 존재하는지 확인합니다.
+연산자는 두 시퀀스를 연결합니다.
[i]연산자는 i번째 있는 데이터를 참조합니다. i는 0부터 시작합니다.
[i:j]연산자는 파이썬에서 슬라이싱이라고 부릅니다. i번째 부터 j-1번째 데이터까지를 부분 시퀀스로 만들어 반환합니다.
i를 생략하면 0이 기본 값입니다. 예를 들면, [:j]는 [0:j]와 같습니다.
j를 생략하면 j가 기본 값입니다. 예를 들면 [i:]는 [i:j]과 같습니다.
[]안에 들어가는 인덱스는 음수를 사용 할 수 있습니다.
마지막 번째 데이터가 -1이 됩니다. 마지막에서 두 번째 데이터는 -2가 됩니다.
예를 들면, [1,2,3] 리스트에서 3이 -1번째, 2가 -2번째가 됩니다.
[i:j:k]는 i번째 부터 j-1번째 데이터에서 k간격을 가진 데이터들을 부분 시퀀스로 만들어 반환합니다.
예를 들면, [1,2,3,4,5][0:5:2]라고 한다면, [1,3,5]가 부분 시퀀스로 생성됩니다.
len은 시퀀스의 길이를 반환합니다.
min은 시퀀스에서 가장 작은 데이터를 반환합니다.
max는 시퀀스에서 가장 큰 데이터를 반환합니다.
파이썬 리스트 튜플 operator
Reviewed by Juny
on
7월 23, 2019
Rating:
댓글 없음: