1. 시퀀스 자료형
파이썬의 시퀀스 자료형은 3가지다.
3가지의 공통점은 '순서'가 있다는 것이며, 그렇기에 '인덱싱'과 '슬라이싱'이 가능하다.
▪️ 문자열
▪️ 리스트
▪️ 튜플
2. 인덱싱/슬라이싱
Example
▪️ 문자열 : "Tstory"
▪️ 리스트 : [1, 5, 2, 6, 8, 9]
▪️ 튜플 : ('a', 'b', 'c,', 'e', 3, 'f')
이때 인덱스는 아래와 같다.
인덱스 | 0 | 1 | 2 | 3 | 4 | 5 |
역순 인덱스 | -6 | -5 | -4 | -3 | -2 | -1 |
ex. 문자열 | T | s | t | o | r | y |
ex. 리스트 | 1 | 5 | 2 | 6 | 8 | 9 |
ex. 튜플 | a | b | c | e | 3 | f |
아래는 위 인덱스를 이용한 인덱싱/슬라이싱 방법이다.
예시) a = [1, 5, 2, 6, 8, 9]
작업 내용 | 코드 | 결과 |
순방향 인덱싱 | a[1] | 5 |
역방향 인덱싱 | a[-3] | 6 |
전체 슬라이싱 | a[:] | [1, 5, 2, 6, 8, 9] |
부분 슬라이싱 *주의 : end 인덱스 전까지 추출됨 |
① a[2:] ② a[2:4] ③ a[:-2] |
① [2, 6, 8, 9] ② [2, 6] ③ [1, 5, 2, 6] |
건너뛰며 슬라이싱 | a[0:5:2] (start:end:step) | [1, 2, 8] |
3. 문자열
예시) a = "Na,Mo,Ya" b=['a', 'p', 'c']
작업 내용 | 코드 | 결과 |
문자열 분할하여 리스트로 전환 | a.split(,) (구분자) | ['Na', 'Mo', 'Ya'] |
리스트를 합쳐 문자열로 전환 | ① ' '.join(b) ② '&'.join(b) |
① a p c ② a&p&c |
4. 리스트 (List)
작업 내용 | 코드 | 결과 |
리스트 생성 | ① a = [] ② a = list() ③ a = [1, 3, 7, 1] |
① a = [] ② a = [] ③ a = [2, 3, 7, 1] |
요소 추가 (맨 뒤) | a.append(2) | a = [2, 3, 7, 1, 2] |
요소 추가 (위치 지정) | a.insert(3, 9) (위치, 값) | a = [2, 3, 7, 9, 1, 2] |
리스트 확장 | a.extend([11, 12]) b = a + [11, 12] |
a = [2, 3, 7, 9, 1, 2, 11, 12] b = [2, 3, 7, 9, 1, 2, 11, 12] |
요소 삭제 (가장 앞) | a.remove(2) | a = [3, 7, 9, 1, 2, 11, 12] |
요소 삭제 (위치 지정) | del a[5:] | a = [3, 7, 9, 1, 2] |
요소 삭제 (output) | a.pop(1) (위치) | 7 |
요소 정렬 | a.sort() | a = [1, 2, 3, 9] |
요소 역정렬 | a.sort(reverse=True) a.reverse |
a = [9, 3, 2, 1] |
요소 정렬 (output) | c = sorted(a) | a = [9, 3, 2, 1] c = [1, 2, 3, 9] |
요소 수정 | a[0] = 1 | a = [1, 3, 2, 1] |
요소 조회 (output) | 4 in a | False |
요소 개수 카운팅 (output) | a.count(1) | 2 |
리스트 길이 (output) | len(a) | 4 |
리스트 반복 확장 (output) | f = a*3 | f = [1, 3, 2, 1, 1, 3, 2, 1, 1, 3, 2, 1] |
*리스트 특징
특징 | 예시 | 결과 |
리스트 요소는 다양한 자료형으로 섞여 있을 수 있음 | a = [1, 'hi', 7, 1, [4, 5, '6']] | |
중첩 인덱싱으로 요소를 뽑을 수 있음 | a[4][1] | 5 |
5. 튜플 (Tuple)
작업 내용 | 코드 | 결과 |
리스트 생성 | ① a = () ② a = (1,) ③ a = (1, 2, 3) ④ a = 1, 2, 3, 4 |
① a = () ② a = (1, ) ③ a = (1, 2, 3) ④ a = (1, 2, 3, 4) |
**거의 대부분의 list methods를 사용할 수 있음 **사용하지 못하는 methods는 아래와 같음 >>> (추가/삭제/수정) append, insert, remove, del, pop, sort, 수정 **튜플을 수정하고 싶다면 >>> a = list(a) 처럼 리스트로 전환해서 수정 후 재전환해야 함 |
*튜플 특징 (리스트 특징과 동일)
특징 | 예시 | 결과 |
튜플 요소는 다양한 자료형으로 섞여 있을 수 있음 | a = (1, 'hi', 7, 1, (4, 5, '6')) | |
중첩 인덱싱으로 요소를 뽑을 수 있음 | a[4][1] | 5 |
'코딩' 카테고리의 다른 글
[Python] 함수 (사용자 지정 함수, lambda, map) (0) | 2024.11.04 |
---|---|
[Python] 조건문, 반복문 (if, for, while) (0) | 2024.11.03 |
[Python] 복합 자료형 (dictionary, set) (2) | 2024.11.02 |
[Python] 기초 자료형 (0) | 2024.10.31 |
[Python] 기초 연산 (0) | 2024.10.30 |