강의/프로그래밍 기초

[프로그래밍 기초] Python | 리스트, 튜플, 딕셔너리

da-hong 2025. 5. 21. 20:55

💡리스트, 튜플, 딕셔너리를 배워야 하는 이유

: 데이터 분석을 할 때 다양하고 많은 데이터들을 다루어야 하는데 이런 데이터들을 구조화하고 조작하기 위해 필요한 것이기 때문. 즉, 데이터를 담고, 정리하고, 꺼낼 때 필요하다. 

리스트

: 여러 항목들을 담을 수 있는 가변(mutable)한 시퀀스(sequence)   

- 인덱싱을 활용하여 특정 위치의 리스트 값을 다른 값으로 변경할 수 있다.

- 대괄호 [   ] 사용하여 생성 

 

1. 인덱싱

    • 앞에서는 0부터 시작
    • 뒤에서는 -1부터 시작
    • 인덱스 범위를 넘어가면 오류 남 

중첩된 리스트 인덱싱 방법

 

2. 메서드

      * 메서드(method): 어떤 자료형(객체)에 붙어 있는 함수

  • append( ) : 리스트에 항목 추가
  • insert( ) : 리스트의 특정 위치에 항목을 삽입
  • remove( ) : 리스트에서 특정 값 삭제
  • pop( ) : 리스트에서 특정 위치의 값을 제거하고 반환   * 인덱스를 생략하면 마지막 요소를 제거하고 반환
  • sort( ) : 리스트의 항목들을 오름차순으로 정렬   * 내림차순: sort(reverse=True) 

3. 슬라이싱 

  • 리스트의 일부분을 추출하는 것
  • 원본 리스트가 변하진 않는다.
  • (AI모델을 학습할 때, 데이터를 train dataset과 test dataset으로 구분하기 위해 슬라이싱 사용)
new_list = old_list[start:end:step]

 

  • 슬라이싱을 할 때 끝에 입력할 인덱스는 내가 선택할 인덱스보다 +1을 해주어야 한다. 즉, 끝 인덱스의 한 칸 전까지만 간다.
  • start 생략하면 처음부터 추출 / end 생략하면 끝까지 추출 
  • step이 음수(-) 이면 거꾸로 뒤집힌다. 

 

튜플

 

: 변경할 수 없는(immutable) 시퀀스(sequence) 자료형

- 튜플은 리스트와 유사하지만, 한 번 생성된 이후에는 요소를 추가, 삭제, 수정할 수 없다. 

   -> 데이터를 보호하고 싶을 때 주로 사용

- 소괄호 ( ) 를 사용하여 생성

 

*리스트와의 비교 

  • 인덱싱, 슬라이싱 : 리스트와 동일한 규칙을 따름
  • 메서드 : 리스트와 달리 요소를 추가, 삭제, 수정하는 것은 불가능하지만 튜플을 합치거나 반복하여 새로운 튜플을 생성할 수는 있다. 
  • 튜플 <-> 리스트 간 변경은 list( ), tuple( ) 함수를 사용한다.  

 

딕셔너리

: 키-값 쌍의 데이터를 저장하는 자료구조

- 중괄호 { } 를 사용하여 생성

- 각 키는 유일해야 하지만 값은 중복될 수 있다. 

- (pandas의 데이터 프레임을 만들 때 딕셔너리를 사용할 수 있다.)

my_dict = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3'
}

 

메서드 

  • keys( ) : 모든 키를 반환
  • values( ) : 모든 값을 반환
  • items( ) : 모든 키-값 쌍을  반환
  • pop( ) : 지정된 키와 해당 값을 딕셔너리에서 제거하고 값을 반환
  • popitem( ) : 딕셔너리에서 마지막 키-값 쌍을 제거하고 반환

❓ Quiz

1. 리스트 활용

 

2. 튜플 활용

 

3. 딕셔너리 활용

 

 


💻 라이브세션

< 기초 쑥쑥 Python >
1차: 5월 21일 오전 11시
선수과목: 파이썬 VOD 강의 1,2주차

 

프로젝트용 개발환경 - VS코드 추천 (가장 유명, 다양한 언어 사용 가능)

 

강의를 들으면서 내장 함수와 메서드 개념이 헷갈렸는데 마침 라이브세션에서 설명을 해주셔서 차이점을 표로 정리해 보았다. 

  내장 함수 (Built-in Function) 메서드 (Method)
정의 파이썬이 기본 제공하는 전역 함수 특정 객체(object)에 종속된 함수
호출 방식 함수명(인자) 객체.메서드명(인자)
대표 예시 len(), type(), print(), sorted() 'abc'.upper(), list.append(), list.sort()
적용 대상 다양한 자료형에 사용 가능 특정 자료형(객체)에만 사용 가능
원본 변경 원본을 변경하지 않고 반환  일부 메서드는 원본을 변경