** 파이썬 - 기본적으로 동적 타이핑 언어
> 하나의 컨테이너 안에 여러 자료형 섞어써도 됨 (다만 실무에선 혼합 잘 안하고 dict, list에나 씀)
파이썬 주요 내장 자료형
| 자료형 | 순서 | 변경 | 중복 |
| 리스트 (list) | O | O | O |
| 튜플 (tuple) | O | X | O |
| 문자열 (str) | O | X | O |
| 딕셔너리 (dict) | X | O | key : X value : O |
| 집합 (set) | X | O | X |
1) 시퀀스 자료형
- list : 가장 많이 쓰임. (배열, 스택, 큐 등으로 / 용도: 같은 종류의 데이터가 여러개 있을때 - 예) (여러 사람의 이름) )
li = [1,2,3,4]
# edit ====
li.append(5) # [1,2,3,4,5]
li[0] = 0 # [0,2,3,4,5]
li.pop() # [0,2,3,4]
- tuple : 변경불가한 고정된 값 묶음 (용도: 여러 요소가 모여 하나의 의미 가질때 - 예) (이름,나이,주소) )
t = ('Lemon', 'Cherry', 'Grape') # 읽기 전용 리스트
t[0] #'lemon'
- str : 문자들의 시퀀스
s = "Hello"
print(s[0]) #H
print(s.upper()) #HELLO
# edit ====
s[0] = 'h' #hello
s.pop() #hell
2) 매핑 자료형
- dict : key-value 저장 (용도: 매핑, 빠른 검색, 카운팅, 해시기반 검색)
d = {"lemon" : 3, "banana" : 5}
# edit value =====
d["lemon"] = 7
# 문자열 빈도 세기*** =====
s = "Hello"
count = {}
for c in s:
count[s] = count.get(c, 0) + 1
print(count) # {'h':1, 'e':1, 'l':2, 'o':1}
# 빠른 탐색 =====
d = {100: "레몬", 200: "체리"}
print(200 in d) #True
3) 집합 자료형
- set : 중복 제거, 집합 연산 , 방문 체크
> 중복 자동 제거됨
> 순서 없음 ---> 정렬하려면 나중에 list로 바꿔야함
# 선언 =====
s = {1,2,3,3}
print(s) # {1,2,3} //중복 제거됨
# edit ======
s = set()
s.add("lemon")
s.add("purple")
s.add("lemon")
print(s) # {'lemon', 'purple'} //중복 제거됨
이터러블 (iterable)
: 순회할 수 있는 객체 (반복 가능 객체 / for문에 쓸 수 있는 모든 것)
- 시퀀스 : list, tuple, 문자열, range() 등 (순서번호 O)
- 기본 : dictionary, set 등 (순서번호 X)
이터레이터 (iterator)
: 원소 하나하나에 접근할 수 있는 객체 ( 한번에 하나의 값을 꺼낼 수 있음 )
- iter()로 꺼냄
- next() 가능
* 제너레이터 (generator)
: yield로 하나씩 값 뽑아내는 특수 이터레이터
'Programming > Python' 카테고리의 다른 글
| [python] 변수 범위 / global / nonlocal (0) | 2025.09.05 |
|---|---|
| [python - 해결] 줄바꿈없이 출력, list 쉽게 생성, 원하는만큼만 입력받기 (0) | 2025.09.05 |
| [python] f-string / range() / for문 - enum, zip (0) | 2025.09.05 |
| [python]입력받기, 형변환, map, split (0) | 2025.09.05 |
| [Python] 01 파이썬이란? (0) | 2024.03.01 |