Python에서 리스트와 튜플은 여러 개의 값을 저장할 수 있는 자료구조.
비교 | 리스트 (List) | 튜플 (Tuple) |
가변성 | 변경 가능 (mutable) | 변경 불가능 (imutable) |
사용 기호 | [ ] 대괄호 | ( ) 소괄호 |
요소 추가, 삭제 | 가능 (append, remove등) | 불가능 |
속도 | 상대적으로 느림 | 상대적으로 빠름 |
사용 목적 | 자주 변경되는 데이터 | 변경이 필요없는 데이터 |
리스트
- 리스트는 문자열, 정수, 실수, 불 등 모든 자료형을 저장할 수 있다.
- 자료형을 섞어서 저장도 가능 >> 리스트에 여러가지 자료형을 사용하면 관련 정보를 하나로 묶기 편함.
빈 리스트는 보통 미리 만들어 놓은 뒤에 새 값을 추가하는 방식으로 사용.
- 증가폭을 음수로 지정하면 해당 값만큼 숫자를 감소하며 생성.
튜플
- 튜플도 리스트처럼 여러 자료형을 섞어서 저장 가능.
- 저장된 요소를 변경, 추가, 삭제할 수 없는 튜플을 만드는 이유 : 프로그래밍에 유리한 경우가 있어서.
- 장점 : 요소를 실수로 변경하는 상황 방지.
- 요소가 한 개 들어있는 튜플은 값 한 개를 괄호로 묶으면 튜플이 아닌 그냥 값이 됨.
- 요소가 한 개인 튜플을 만들 때는 ()안에 값을 넣고 ,를 붙이거나
- 괄호로 묶지 않고 값 한 개에 ,를 붙여도 됨.
시퀀스 자료형 활용하기
- 리스트, 튜플, range, 문자열의 공통점 : 연속적(sequence)
값이 연속적으로 이어진 자료형을 시퀀스 자료형이라고 부름.
- 시퀀스 자료형의 특징 : 공통 동작과 기능 제공.
- 시퀀스 객체 : 시퀀스 자료형으로 만든 객체.
- 요소 : 시퀀스 객체에 들어있는 각 값.
- 시퀀스 자료형 중 range()는 + 연산자로 객체를 연결할 수 없음.
- range를 list 또는 tuple로 만들어서 연결.
- 문자열은 + 연산자로 여러 문자열을 연결할 수 있음.
- + 연산자와 마찬가지로 range는 * 연산자를 사용해 반복할 수 없음.
- range를 list 또는 tuple로 만들어서 반복.
- 문자열은 * 연산자를 사용해 반복할 수 있음.
인덱스(Index) 사용하기
- 시퀀스 객체의 각 요소는 순서가 정해져 있고, 이를 인덱스라고 부름.
- 시퀀스 객체에 [ ]를 붙이고, [ ]안에 각 요소의 인덱스를 지정하면 해당 요소에 접근이 가능.
- 시퀀스 객체의 인덱스는 항상 0부터 시작!!!
리스트, 튜플, range, 문자열도 [ ]에 인덱스를 지정하면 해당 요소를 가져올 수 있음.
인덱스의 범위를 벗어나면 오류 발생
** 튜플의 [ ]에 인덱스를 지정한 뒤 값을 할당하면 오류 발생 **
* range와 문자열도 [ ]에 저장된 요소를 변경할 수 없음 *
- 시퀀스 자료형 중 튜플, range, 문자열은 읽기 전용임.
위에서 튜플의 오류 처럼 range와 문자열도 안에 저장된 요소를 삭제할 수 없음.
'Python' 카테고리의 다른 글
[Python] 딕셔너리 (0) | 2025.02.21 |
---|---|
[Python] 리스트와 튜플 (2) (0) | 2025.02.21 |
[Python] 비교, 논리 연산자 (0) | 2025.02.15 |
[Python] Pandas (0) | 2025.02.15 |
[Python] Numpy (2) (0) | 2025.02.14 |