._리스트, 튜플, range, 문자열은 모두 값이 연속적(sequence)이다. 파이썬에서는 리스트, 튜플, range, 문자열처럼 값이 연속적으로 이어진 자료형을 시퀀스 자료형(sequence types)라고 부른다.
._이 시퀀스 자료형 중에서 list, tuple, range, str을 주로 사용하며 bytes, bytearray라는 자료형도 있다.
._시퀀스 자료형의 가장 큰 특징은 공통된 동작과 기능을 제공한다는 점이다. 따라서 시퀀스 자료형의 기본적인 사용 방법을 익혀 두면 나중에 어떠한 시퀀스 자료형을 접하게 되더라도 큰 어려움 없이 바로 사용할 수 있다. 시퀀스 자료형으로 만든 객체를 시퀀스 객체라고 하며, 시퀀스 객체에 들어있는 각 값을 요소(element)라고 부른다.
._시퀀스 안에 특정 값이 있는지 확인하기 (in) 있으면 True, 없으면 False
형태 : 값 in 시퀀스객체
예시.
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #a라는 변수에 1부터 10까지의 값을 지닌 list 생성
print(10 in a) #a라는 변수에 10이라는 값이 있는지 확인 --> True 출력
print(11 in a) #a라는 변수에 11이라는 값이 있는지 확인 --> False 출력
._시퀀스 안에 특정 값이 없는지 확인하기 (not in) 없으면 True, 있으면 False
형태 : 값 not in 시퀀스객체
예시.
b = list(range(11))
print(10 not in b) #b라는 변수에 10이라는 값이 있는지 확인 --> False 출력
print(11 not in b) #a라는 변수에 11이라는 값이 있는지 확인 --> True 출력
._시퀀스 객체 연결하기
시퀀스 객체는 + 연산자를 사용하여 객체를 서로 연결하여 새 객체를 만들 수 있다.
c = [0, 10, 20, 30]
d = [9, 8, 7, 6]
print(c + d)
>>>[0, 10, 20, 30, 9, 8, 7, 6]
._단,range는 + 연산자로 객체를 연결할 수 없다.그때는 range를 리스트 또는 튜플로 만들어서 연결하면 된다.
예.
e = list(range(0, 10)) + list(range(10, 20))
print(e)
f = tuple(range(0, 10)) + tuple(range(10, 20))
print(f)
._문자열은 + 연산자로 여러 문자열을 연결할 수 있다.
string = 'Hello, ' + ' Python!'
print(string) #Hello, Python 출력
._문자열에 숫자 연결하기
문자열에 정수를 연결하려고 하면 에러가 발생한다(정수를 문자열로 변환할 수 없어서 TypeError가 발생). 이 문제를 해결하려면 str을 사용하여 숫자(정수, 실수)를 문자열로 변환하면 된다. 문자열에 +를 사용할 때는 어떤 형태의 값이든 str을 사용해서 문자열로 맞춰주면 된다. 특히 이 방식은 파이썬에서 자주 사용하는 방식이며, 문자열과 숫자를 간단하게 조합할 수 있어서 계산 결과와 설명을 함께 출력할 때 편리하다.
._시퀀스 객체 반복하기
형태 : 시퀀스객체 * 정수 또는 정수 * 시퀀스객체
[0, 10, 20, 30] * 3 #요소 0, 10, 20, 30이 들어있는 리스트를 3번 반복한다.
._마찬가지로 range는 * 연산자를 사용할 수 없기 때문에 리스트나 튜플로 만들어서 반복하면 된다.
예. list(range(0, 3)) * 3 , tuple(range(0, 3)) * 3
._문자열은 반복이 가능하다.
예. 'Hello, Python' * 3
'Programming > Python' 카테고리의 다른 글
[코딩도장-파이썬] 시퀀스(Sequence) 자료형 활용하기 3 (0) | 2020.11.11 |
---|---|
[코딩도장-파이썬] 시퀀스(Sequence) 자료형 활용하기 2 (0) | 2020.11.11 |
[코딩도장-파이썬] 튜플(Tuple) (0) | 2020.11.10 |
[코딩도장-파이썬] 리스트(List) (0) | 2020.11.10 |
[코딩도장-파이썬] 문자열(String) (0) | 2020.11.10 |