Python

[Python] 리스트와 튜플 (1)

orin602 2025. 2. 15. 19:14

Python에서 리스트튜플은 여러 개의 값을 저장할 수 있는 자료구조.

 

비교 리스트 (List) 튜플 (Tuple)
가변성 변경 가능 (mutable) 변경 불가능 (imutable)
사용 기호 [ ] 대괄호 ( ) 소괄호
요소 추가, 삭제 가능 (append, remove등) 불가능
속도 상대적으로 느림 상대적으로 빠름
사용 목적 자주 변경되는 데이터 변경이 필요없는 데이터

리스트

값 : 요소라고 부름

  • 리스트는 문자열, 정수, 실수, 불 등 모든 자료형을 저장할 수 있다.
    • 자료형을 섞어서 저장도 가능 >> 리스트에 여러가지 자료형을 사용하면 관련 정보를 하나로 묶기 편함.

빈 리스트

빈 리스트는 보통 미리 만들어 놓은 뒤에 새 값을 추가하는 방식으로 사용.

 

- 증가폭을 음수로 지정하면 해당 값만큼 숫자를 감소하며 생성.

 


튜플

  • 튜플도 리스트처럼 여러 자료형을 섞어서 저장 가능.
  • 저장된 요소를 변경, 추가, 삭제할 수 없는 튜플을 만드는 이유 : 프로그래밍에 유리한 경우가 있어서.
  • 장점 : 요소를 실수로 변경하는 상황 방지.

  • 요소가 한 개 들어있는 튜플은 값 한 개를 괄호로 묶으면 튜플이 아닌 그냥 값이 됨.
    • 요소가 한 개인 튜플을 만들 때는 ()안에 값을 넣고 ,를 붙이거나
    • 괄호로 묶지 않고 값 한 개에 ,를 붙여도 됨.


시퀀스 자료형 활용하기

- 리스트, 튜플, range, 문자열의 공통점 : 연속적(sequence)

값이 연속적으로 이어진 자료형

값이 연속적으로 이어진 자료형을 시퀀스 자료형이라고 부름.

 

  • 시퀀스 자료형의 특징 : 공통 동작과 기능 제공.
  • 시퀀스 객체 : 시퀀스 자료형으로 만든 객체.
  • 요소 : 시퀀스 객체에 들어있는 각 값.

시퀀스 객체와 요소
값 in 시퀀스 객체

  • 시퀀스 자료형 중 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