[TIL_Python]시퀀스 자료형
시퀀스 자료형 활용
-리스트, 튜플, range, 문자열처럼 값이 연속적으로 이어진 자료형을 시퀀스 자료형(sequence types)라고 부른다.
-공통된 동작과 기능을 제공한다는 특징을 갖고 있다.
시퀀스 자료형으로 만든 객체를 시퀀스 객체라고 하며, 시퀀스 객체에 들어있는 각 값을 요소(element)라고 한다.
1. 특정 값이 있는지 확인하기
1.1 값 in 시퀀스객체
>>> 30 in a
True
>>> 100 in a
False
시퀀스 객체에 in 연산자를 사용했을 때 특정 값이 있으면 True, 없으면 False가 나온다.
따라서 리스트 a에 30이 있으므로 True, 100이 없으므로 False가 나온다.
1.2 값 not in 시퀀스객체
>>> 100 not in a
True
>>> 30 not in a
False
2. 시퀀스 객체 연결하기
시퀀스 객체는 +
연산자를 이용하여 객체를 서로 연결하여 새 객체를 만들 수 있다.
리스트 a와 b를 더해 두 리스트를 연결시켰다.
📢시퀀스 자료형 중 range는 +연산자로 객체를 연결할 수 없다.
따라서 range를 리스트 또는 튜플로 만들어서 연결해야 한다.
3. 시퀀스 객체 반복하기
곱하기 연산자(*
)를 이용한다.
but 0또는 음수를 곱하면 빈 객체가 나오기 때문에 실수는 곱할 수 없다.
-시퀀스객체 정수
-정수 시퀀스객체
위의 객체 연결과 마찬가지로 range는 *연산자를 사용할 수 없다.
range를 리스트나 튜플로 변경하면 가능하다.
4. 리스트와 튜플의 요소 개수 구하기
-len()함수를 사용한다.
>>> len(a)
10
📢range와 문자열의 길이도 마찬가지로 len함수를 사용하면 된다.
5. 인덱스 사용하기
시퀀스 객체의 각 요소는 순서가 정해져 있으며, 이 순서를 인덱스라고 부른다.
시퀀스 객체에 [ ]를 붙이고 [ ]안에 각 요소의 인덱스를 지정하면 해당 요소에 접근할 수 있다.
>>> a = [38, 21, 53, 62, 19]
>>> a[0] # 리스트의 첫 번째(인덱스 0) 요소 출력
38
>>> a[2] # 리스트의 세 번째(인덱스 2) 요소 출력
53
>>> a[4] # 리스트의 다섯 번째(인덱스 4) 요소 출력
19
인덱스는 항상 0부터 시작한다.
시퀀스 객체에 인덱스를 지정하지 않으면?
=해당 객체 전체를 뜻한다.
=리스트를 출력하면 []를 포함한 리스트 전체가 출력된다.
5.1 음수 인덱스 지정하기
인덱스를 음수로 지정하면 뒤에서부터 요소에 접근한다.
맨 뒤 요소의 인덱스는 -1이다.
>>> a = [38, 21, 53, 62, 19]
>>> a[-1] # 리스트의 뒤에서 첫 번째(인덱스 -1) 요소 출력
19
>>> a[-5] # 리스트의 뒤에서 다섯 번째(인덱스 -5) 요소 출력
38
📢인덱스의 범위를 벗어나면 오류가 뜬다.
5.2 마지막 요소에 접근하기
- 위와 같이 인덱스를 -1로 지정하기
- len()함수 이용하기
a[len(a) -1]
5.3 요소에 값 할당하기
시퀀스객체[인덱스] = 값
>>> a = [0, 0, 0, 0, 0] # 0이 5개 들어있는 리스트
>>> a[0] = 38
>>> a[1] = 21
>>> a[2] = 53
>>> a[3] = 62
>>> a[4] = 19
>>> a
[38, 21, 53, 62, 19]
>>> a[0]
38
>>> a[4]
19
튜플과 range는 불가
5.4 del로 요소 삭제하기
del 시퀀스객체[인덱스]
>>> a = [38, 21, 53, 62, 19]
>>> del a[2]
>>> a
[38, 21, 62, 19]
튜플과 range는 불가
6. 슬라이스 사용하기
:시퀀스 객체의 일부를 잘라내기
시퀀스객체[시작인덱스:끝인덱스]
>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[0:4]
[0, 10, 20, 30]
인덱스 0부터 3까지 잘라서 새 리스트를 만들었다.
이때 끝 인덱스는 실제로 가져오려는 인덱스보다 1을 더 크게 지정해야한다.
만약 a[1:1]
처럼 시작 인덱스와 끝 인덱스의 숫자가 같다면 아무것도 가져오지 않는다.
6.1 인덱스 증가폭 사용하기
시퀀스객체[시작인덱스:끝인덱스:인덱스증가폭]
주의 할 점은 인덱스의 증가폭이지 요소의 값 증가폭이 아니라는 점이다.
>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[2:8:3] # 인덱스 2부터 3씩 증가시키면서 인덱스 7까지 가져옴
[20, 50]
6.2 인덱스 생략하기
시퀀스객체[:끝인덱스]
a[:7]
= 리스트 처음부터 인덱스 6까지 가져옴.
시퀀스객체[시작인덱스:]
a[7:]
= 인덱스 7부터 마지막 요소까지 가져옴.
시퀀스객체[:]
a[:]
리스트 전체를 가져옴.
6.3 튜플,range,문자열에 슬라이스 사용하기
6.3.1 튜플
튜플[시작인덱스:끝인덱스]
튜플[시작인덱스:끝인덱스:인덱스증가폭]
6.3.2 range
range객체[시작인덱스:끝인덱스]
range객체[시작인덱스:끝인덱스:인덱스증가폭]
6.3.3 문자열
문자열[시작인덱스:끝인덱스]
문자열[시작인덱스:끝인덱스:인덱스증가폭]
6.4 슬라이스에 요소 할당하기
시퀀스객체[시작인덱스:끝인덱스] = 시퀀스객체
>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[2:5] = ['a', 'b', 'c'] # 인덱스 2부터 4까지 값 할당
>>> a
[0, 10, 'a', 'b', 'c', 50, 60, 70, 80, 90]
Author And Source
이 문제에 관하여([TIL_Python]시퀀스 자료형), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyeyoonc/TILPython시퀀스-자료형저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)