🐨CoalaCoding
DocsExamplesTry itBoardB반B반
🐨CoalaCoding

개발자를 위한 한국어 웹 기술 문서

문서

  • JavaScript
  • Web Publishing
  • React
  • Python

커뮤니티

  • 게시판
  • 예제 모음
  • Try it 에디터

기타

  • GitHub
  • 관리자
© 2026 CoalaCoding. All rights reserved.
  • 파이썬 기본문법
  • 파이썬 변수
  • 파이썬 출력
  • 파이썬 기본 자료형
  • 파이썬 집합 자료형
  1. 홈
  2. 문서
  3. Backend
  4. Python 기초 A
  5. 파이썬 집합 자료형

파이썬 집합 자료형

코드 블록의 Try it Yourself 버튼으로 직접 실행할 수 있다.

구문

Warning: 여러 개의 값을 나타낼 수 있게 해주는 자료형 list,tuple,dict,set

1. 시퀀스 자료형

순서가 있어서 인덱스로 접근할 수 있는 자료형

연속적으로 (sequence)로 이어져 있다

1.1. list

순서가 있으며, 값의 수정, 추가, 삭제가 가능하다. (대괄호 [] 사용)

1.2. 선언과 동시에 값할당

Code

순서가 있으며, 값의 수정, 추가, 삭제가 가능하다

a1=[1, 2, 3, 4]
print(a1)
b1=["안", "녕", "하", "세", "요"]
print(b1)
c1=[273, 32, 103, "문자열", True, False]
print(c1)

Result

  • 리스트 선언시 `[]`를 사용.
  • 리스트 자료형의 값은 요소(element) 라고 한다

1.3. 선언후 할당

Code

a1=[]
print(a1)
a1=[1,2,3]
print(a1)
b1=list()
print(b1)
b1=["가", "나", "다"]
print(b1)

Result

비어있는 리스트를 선언후 값을 할당할수 있다.

1.4. range()

Code

Note: range() 함수로 연속된 숫자 리스트를 만들어 주는 내장 함수

list(range(n)) # 0부터 n-1까지 list(range(m, n)) # m부터 n-1까지 list(range(m, n, k)) # m부터 n-1까지 k씩 증가 list(range(m, n, -k)) # m부터 n+1까지 k씩 감소 # -k를 쓸 때는 시작(m)이 끝(n)보다 커야함

```py
a1=list(range(5)) #0~4
print(a1)

b1=list(range(1, 6)) #1~5
print(b1)

c1=list(range(0, 10, 2)) #0~9 +=2
print(c1)

d1 = list(range(10, 0, -1))
print(d1)

Result

  1. `range(5)` : 0부터 4까지
  2. `range(1, 6)` : 1부터 5까지
  3. `range(0, 10, 2)` : 0부터 9까지 2씩 증가
  4. `range(10, 0, -1)` : 10부터 1까지 1씩 감소

1.5. tuple

순서가 있으나, 생성 후 값 수정이 불가능하다. (소괄호 () 사용)

Code

Note: py tu=(1,2,3) tu=1,2,3 요소의 변경,삭제,추가 불가 : ```py a=38,21,53,62 print(a) b=('mango',8,3.5,True) print(b)

```

Result

(38, 21, 53, 62)
('mango', 8, 3.5, True)

튜플과리스트

  a=[1,2,3] # list
  tuple(a)
  print(a) # tuple
  b=(4,5,6) #tuple
  list(b)
  print(b) #list

1.6. 시퀀스 자료형 활용

Note: 시퀀스 자료형의 종류 : list, tuple, range, string , byte, bytearray

시퀀스 자료형으로 민든 객체를 시퀀스 객체라고 하며

시퀀스 객체에 들어있는 각 값을 요소(element)라고 한다.

1.6.1. 시퀀스 자료형의 공통기능

1.6.1.1. 특정값의 확인

튜플,range, 문자열도 사용가능

Code

```py
a=[0,10,20,30,40,50,60,70,80,90]
print(30 in a)  # 값의 포함확인
print(300 not in a) # 값이 비포함 확인
```

Result

True
True

리스트 a에 숫자 30이 있으므로 True를 반환. 리스트 a에 숫자 300이 없으므로 True를 반환.

1.6.1.2. 시퀀스 객체 연결

Code

py a=[0,10,20,30,40] b=[50,60,70,80,90] print(a + b)

Result

[0, 10, 20, 30, 40, 50, 60, 70, 80, 90] 두 리스트가 하나로 연결되어 새로운 리스트가 만들어짐.

1.6.1.3. 시퀀스 객체 반복

1.6.2. 시퀀스 객체의 요소갯수 구하기

1.6.2.1. 리스트와 튜플

1.6.2.2. range의 숫자 생성 개수

1.6.2.3. 문자열의 길이

1.6.3. 인덱스의 사용

1.6.3.1. 음수인덱스

1.6.3.2. 인덱스 범위를 벗어난 경우

1.6.3.3. 마지막 요소에 접근하기

1.6.3.4. 요소에 값 할당

1.6.3.5. 요소 삭제 (del)

1.6.4. 슬라이스 사용

2. 비시퀀스 자료형

순서가 없어서 인덱스로 접근할 수 없는 자료형

2.1. dict

'열쇠(Key)'와 '값(Value)'을 쌍으로 저장한다. 순서가 없고 열쇠를 통해 값에 접근한다. (중괄호 {} 사용)

Code

Note: 딕셔너리는 키(Key)와 값(Value)의 쌍으로 데이터를 저장

dict_name = {키1: 값1, 키2: 값2}

```py
a = {"name": "홍길동", "age": 25, "city": "서울"}
print(a)
print(a["name"])  # 키로 값 가져오기

Result

{'name': '홍길동', 'age': 25, 'city': '서울'}
홍길동

2.2. set

중복을 허용하지 않으며, 순서가 없다. (중괄호 {} 사용)

Code

> **Note**: 집합(set)은 중복된 값을 자동으로 제거
```py
  set_name = {(값1, 값2, 값3)}
```
```py
  a = {(1, 2, 3, 3, 4, 4, 5)}
  print(a) b = set([1, 2, 2, 3, 3, 3]) print(b)
```

Result

```
{(1, 2, 3, 4, 5)}
{(1, 2, 3)}
```

목차

  • 구문