안녕하세요? mangosed3434입니다.
이번 글에서는 파이썬의 기본 Data Type인 리스트, 튜플, 딕셔너리, 집합, 불 자료형을 정리했습니다.
리스트, 튜플 등 Data Type은 조건문, 반복문, 데이터 처리 전반에서 빈번하게 사용됩니다.
각 Data Type의 특징과 차이를 정확히 이해하면 코드의 가독성과 안정성을 크게 향상시킬 수 있습니다.
이번 글에서도 'Do it! 점프 투 파이썬'으로 학습한 내용을 정리합니다.
Do it! 점프 투 파이썬 | 박응용 - 교보문고
Do it! 점프 투 파이썬 | 프로그래밍 분야 8년 연속 베스트셀러! 《Do it! 점프 투 파이썬》 전면 개정 2판 출시!중고등학생도, 비전공자도, 직장인도 프로그래밍에 눈뜨게 만든 바로 그 책이 전면 개
product.kyobobook.co.kr
1. 리스트(List)
① 리스트란?
리스트는 여러 개의 값을 하나의 변수에 저장할 수 있는 Data Type 입니다.
[ 대괄호 ]로 값을 감싸고, 각 값은 쉼표(,)로 구분합니다.
리스트의 가장 큰 특징은 값의 생성, 수정, 삭제가 모두 가능하다는 점입니다.
② 리스트 예시

리스트는 기본적으로 [ 대괄호 ] 안에 값들이 나열된 Data Type입니다.
a는 비어 있는 리스트입니다.
b는 숫자로만 구성된 리스트입니다.
c는 문자로만 구성된 리스트입니다.
d는 숫자와 문자가 함께 포함된 리스트입니다.
e는 리스트 안에 또 다른 리스트가 포함된 중첩 리스트입니다.
③ 리스트 인덱싱
(Pyhon 입문 01편) 인덱싱, 슬라이싱, 문자열 포매팅, f 문자열 포매팅
안녕하세요? mangosed3434입니다.이번 글부터 python 입문 시리즈를 시작합니다.이번 시리즈는 'Do it! 점프 투 파이썬'을 교재로 학습하며 이해한 내용을 정리할 예정입니다. Do it! 점프 투 파이썬 | 박
mangoseed3434.tistory.com

b[0]은 리스트 b의 첫 번째 값을 의미합니다.

b[-1]은 리스트 b의 마지막 값을 의미합니다.

위 두 코드는 동일한 값을 출력합니다.
이는 리스트도 문자열과 동일하게 음수 인덱싱이 가능하기 때문입니다.

중첩 리스트에서는 대괄호를 연속으로 사용하여 내부 값까지 접근할 수 있습니다.
④ 리스트 슬라이싱

리스트에도 슬라이싱으로 시작 인덱스 이상, 끝 인덱스 미만의 값을 추출할 수 있습니다.

슬라이싱 결과에 다시 슬라이싱을 적용할 수도 있습니다.
⑤ 리스트 연산

덧셈으로 두 리스트를 이어 붙일 수 있습니다.

곱셈으로 동일한 리스트를 반복할 수도 있습니다.

len ( ) 함수를 이용해 리스트의 전체 길이를 구할 수 있습니다.
⑥ 리스트 값 수정 및 삭제

3이었던 b1[2]의 값이 9로 수정되었습니다.
이처럼 리스트는 값을 수정할 수 있습니다.

del은 지정한 인덱스의 값을 삭제합니다.
6이었던 b2[2]의 값이 삭제되었습니다.

슬라이싱과 del을 조합하면 여러 값을 한 번에 삭제할 수 있습니다.

remove 함수는 리스트에서 처음 등장하는 특정 값을 삭제합니다.
remove(x)는 리스트에서 처음 등장하는 x를 삭제합니다.

pop 함수는 마지막 값을 반환하면서 해당 값을 리스트에서 제거합니다.
b5의 마지막 값이었던 12가 출력되고 삭제된 것을 볼 수 있습니다.
⑦ 리스트 관련 함수

append(x)는 리스트의 맨 마지막에 x를 추가하는 함수입니다.

sort 함수는 리스트를 오름차순으로 정렬해주는 함수입니다.

reverse 함수는 현재 리스트의 순서를 반대로 뒤집는 함수입니다.
정렬한 다음 역순으로 정렬하는게 아닌, 현재의 리스트를 그대로 거꾸로 뒤집어 줍니다.

index(x) 함수는 리스트에 x값이 있으면 x의 인덱스 값(위치)를 출력해주는 함수입니다.

insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수입니다.
b3.insert(5, 999)는 b3 리스트의 5번째 인덱스에 999를 삽입합니다.

count 함수는 특정 값의 개수를 세어주는 함수입니다.
count(x)는 리스트 안에 x가 몇 개 있는지 셀 수 있습니다.

extend 함수는 리스트끼리 병합해주는 함수입니다.
list.extend(x)에서 x에는 리스트만 올 수 있으며 원래의 list에 새로운 list를 더할 수 있습니다.
3. 튜플(Tuple)
① 튜플이란?
튜플은 ( 소괄호 )로 값을 감싸는 Data Type입니다.
리스트와 달리 한 번 생성된 튜플은 수정하거나 삭제할 수 없습니다.
② 튜플 예시

tuple2처럼 1개의 값만 가질 때에는 값 뒤에 쉼표(,)를 붙여야 합니다.
또한, tuple4처럼 ( 소괄호 )를 생략할 수 있습니다.
리스트는 값의 변화가 가능하지만 튜플은 값을 변경/수정할 수 없습니다.
그래서 프로그램이 실행되는 동안 값이 변하지 않게 고정하고 싶으면 튜플을 사용합니다.
③ 튜플 연산


튜플 인덱싱과 슬라이싱이 가능합니다.


튜플의 곱하기도 가능합니다.

len( ) 함수를 이용해 튜플도 길이를 구할 수 있습니다.
4. 딕셔너리(Dictionary)
① 딕셔너리란?
딕셔너리는 Key와 Value를 한 쌍으로 가지는 Data Type입니다.
순서가 없으며, Key를 통해 Value에 접근합니다.
딕셔너리를 구성하는 각 요소는 Key:Value의 형태로 구성되며 쉼표(,)로 구분됩니다.

딕셔너리의 Value에는 리스트를 넣을 수도 있습니다.

'Hobby' Key의 Value가 리스트인 경우입니다.
② 딕셔너리 생성 및 조작

dic['Key'] = Value의 형태로 Key를 지정해 새로운 값을 추가할 수 있습니다.
기존의 딕셔너리a의 마지막에 'Height' : 180가 추가된 것을 볼 수 있습니다.

del을 사용하면 특정 Key와 Value 쌍을 삭제할 수 있습니다.
del dic[key]를 입력하면 딕셔너리의 지정한 key에 해당하는 key:value쌍을 삭제합니다.

딕셔너리에서 어떤 key의 value를 얻기 위해서는 딕셔너리이름[key]를 사용합니다.
③ 딕셔너리 관련 함수

keys( ) 함수는 딕셔너리를 구성하는 key들만 모아서 출력합니다.

list( ) 함수를 이용해 keys( ) 함수로 출력된 key들을 리스트로 변환할 수 있습니다.

values( ) 함수는 딕셔너리의 value만을 모아 출력해줍니다.

items( ) 함수는 딕셔너리의 Key: Value의 쌍을 튜플로 묶어 출력해줍니다.


get(x) 함수는 x라는 key에 대응되는 value를 출력합니다.

get(x)와 dic[x]의 결과는 동일합니다.
단, 딕셔너리에 존재하지 않는 key로 값을 추출할 경우, dic[x]는 오류가 발생하지만 get[x]는 None을 출력합니다.

get(x, '디폴트 값')을 사용하면 딕셔너리 안에 찾으려는 key가 없는 경우, 미리 정해 둔 디폴트 값을 대신 출력할 수 있습니다.

in을 사용해 딕셔너리의 Key 존재 여부를 확인할 수 있습니다.
in을 이용해 key가 딕셔너리에 있으면 True를 출력합니다.
in을 이용해 key가 딕셔너리에 없으면 False를 출력합니다.
④ 딕셔너리 특징

딕셔너리에서 key는 고유한 값이므로 중복되는 key값을 설정해 놓으면 하나를 제외한 나머지는 모두 무시합니다.
딕셔너리에 2개의 key가 Miyabi로 동일한 경우, 1개의 Miyabi만 출력합니다.
그리고 딕셔너리의 key는 변하는 값을 쓸 수 없습니다.
그래서 key에는 리스트를 사용할 수 없습니다.
value에는 변하는 값이든, 변하지 않는 값이든 아무 값이나 넣을 수 있습니다.
5. 집합(Set)
① 집합이란?
집합은 중복을 허용하지 않고 순서가 없는 Data Type입니다.
중복 제거와 집합 연산에 유용합니다.
집합 Data Type은 set 키워드를 이용해 만들 수 있습니다.

② 집합 연산

&를 이용해 집합 교집합을 구할 수 있습니다.

교집합의 경우, intersection( )함수를 이용해서도 구할 수 있습니다.

|를 이용해 합집합(전체집합)을 구할 수 있습니다.

합집합(전체집합)의 경우, union( ) 함수를 이용해서도 구할 수 있습니다.

-(빼기)를 이용해 차집합을 구할 수 있습니다.

차집합의 경우, difference( ) 함수를 이용해서도 구할 수 있습니다.
③ 집합 관련 함수

add( )함수를 이용해 집합 Data Type에 1개의 값을 추가할 수 있습니다.

집합 Data Type에 2개 이상의 값을 동시에 추가할 때는 Update( )함수를 사용합니다.

집합 Data Type에서 특정 값을 제거할 때는 remove( ) 함수를 사용합니다.
④ 집합 특징

"Miyabi" 문자열을 집합 Data Type으로 만들었는데 i가 하나만 있고 정렬도 뒤죽박죽입니다.
집합의 특징은 2개가 있습니다.
특징 1 : 집합 Data Type은 중복을 허용하지 않는다.
특징 2 : 집합 Data Type은 순서가 없다.
그래서 집합 Data Type은 중복을 허용하지 않기 때문에 데이터의 중복을 제거하기 위한 필터로 사용할 수 있습니다.
단, 집합 Data Type은 순서가 없어서 인덱싱을 통해 값을 추출할 수 없습니다.

그래서 집합 Data Type을 이용해 데이터를 처리하려면, 집합 Data Type을 리스트나 튜플 Data Type으로 전환해야 합니다.
6. 불(Bool)
① 불이란?
불 Data Type은 2가지 값인 True와 False를 가질 수 있는 Data Type입니다.
단, ture나 false가 아닌 True와 False처럼 첫 문자를 항상 대문자로 작성해야 합니다.

② 불 예시
리스트, 문자열, 튜플, 딕셔너리 등의 값이 비어 있으면 False를 출력하고, 비어 있지 않으면 True를 출력합니다.
숫자값이 0일 때 False를 출력합니다.

'Miyabi" 문자열이 비어 있지 않으므로 불 연산의 결과로 불 Data type인 True를 출력합니다.

''문자열이 비어 있어 불 연산의 결과로 불 data type인 false를 출력합니다.

주로, 값이 비어 있으면 False, 비어 있지 않으면 True를 출력합니다.
7. 마무리
리스트 : 값의 추가, 수정, 삭제가 가능한 자료형
튜플 : 변경 불가능한 자료형
딕셔너리 : Key를 통해 Value에 접근하는 자료형
집합 : 중복 제거와 집합 연산에 특화된 자료형
불 : True와 False을 표현하는 자료형
읽어주셔서 감사합니다.
'Pyhon 입문' 카테고리의 다른 글
| (Python 입문 05편) input함수, 사용자 입출력, 파일 읽고 쓰기 (0) | 2026.02.10 |
|---|---|
| (Python 입문 04편) def 함수, return문, 매개변수, 인수, lambda (0) | 2026.02.09 |
| (Python 입문 03편) 조건문 : if문, while문, for문 (0) | 2026.01.17 |
| (Pyhon 입문 01편) 인덱싱, 슬라이싱, 문자열 포매팅, f 문자열 포매팅 (0) | 2026.01.11 |