Python 02 - Collection

KjjeddΒ·2025λ…„ 12μ›” 29일

Python

λͺ©λ‘ 보기
2/10
post-thumbnail

πŸ“¦ μ—¬λŸ¬ 개의 값을 κ°–λŠ” μžλ£Œν˜•

μ‹€μ œ ν”„λ‘œκ·Έλž¨μ—μ„œ λ‹€λ£¨λŠ” λ°μ΄ν„°λŠ” 항상 ν•˜λ‚˜κ°€ μ•„λ‹ˆλ‹€.
학생 λͺ…단, μž₯λ°”κ΅¬λ‹ˆ, μ—°λ½μ²˜, μΆœμ„λΆ€μ²˜λŸΌ μ—¬λŸ¬ 개의 값을 ν•˜λ‚˜λ‘œ λ¬Άμ–΄ 관리해야 ν•œλ‹€.


πŸ€” μ™œ ν•˜λ‚˜μ˜ λ³€μˆ˜λ‘œλŠ” λΆ€μ‘±ν• κΉŒ?

λ³€μˆ˜ ν•˜λ‚˜μ—λŠ” κ°’ ν•˜λ‚˜λ§Œ 담을 수 μžˆλ‹€.

student1 = "κΉ€μ² μˆ˜"
student2 = "이영희"
student3 = "λ°•λ―Όμˆ˜"

학생이 30λͺ…이라면?
πŸ‘‰ λ³€μˆ˜ 30κ°œκ°€ ν•„μš”ν•΄μ§„λ‹€.

κ·Έλž˜μ„œ λ“±μž₯ν•œ κ°œλ…μ΄ λ°”λ‘œ μ»¬λ ‰μ…˜(Collection) μžλ£Œν˜•μ΄λ‹€.


πŸ“¦ μ»¬λ ‰μ…˜ μžλ£Œν˜• ν•œλˆˆμ— 보기

μžλ£Œν˜•λΉ„μœ ν•΅μ‹¬ νŠΉμ§•
λ¦¬μŠ€νŠΈπŸ“‹ ν•  일 λͺ©λ‘μˆœμ„œ O, μˆ˜μ • O
νŠœν”ŒπŸ“¦ λ°€λ΄‰λœ νƒλ°°μˆœμ„œ O, μˆ˜μ • X
λ”•μ…”λ„ˆλ¦¬πŸ“– μ‚¬μ „ν‚€λ‘œ κ°’ μ ‘κ·Ό
μ„ΈνŠΈπŸŽ± 번호 μ£Όλ¨Έλ‹ˆμ€‘λ³΅ X, μˆœμ„œ X
λ¬Έμžμ—΄πŸ“Ώ ꡬ슬 λͺ©κ±Έμ΄λ¬Έμžλ“€μ˜ μ§‘ν•©

πŸ“‹ 1. 리슀트 (List)

κ°€μž₯ 많이 μ“°μ΄λŠ” μžλ£Œν˜•.
μˆœμ„œκ°€ 있고, μΆ”κ°€Β·μˆ˜μ •Β·μ‚­μ œκ°€ λͺ¨λ‘ κ°€λŠ₯ν•˜λ‹€.

fruits = ["사과", "λ°”λ‚˜λ‚˜", "λ”ΈκΈ°"]

πŸ”’ 인덱싱

λ¦¬μŠ€νŠΈλŠ” 0λΆ€ν„° μ‹œμž‘ν•œλ‹€.

fruits[0]  # 사과
fruits[-1] # λ§ˆμ§€λ§‰ μš”μ†Œ

πŸ›  CRUD μ—°μ‚°

shopping = ["우유", "빡"]

shopping.append("κ³„λž€")      # μΆ”κ°€
shopping[0] = "μ €μ§€λ°©μš°μœ "     # μˆ˜μ •
shopping.remove("λΉ΅")        # μ‚­μ œ
last = shopping.pop()       # κΊΌλ‚΄κΈ°

πŸ“– 2. λ”•μ…”λ„ˆλ¦¬ (Dictionary)

ν‚€(key)둜 값을 μ°ΎλŠ” μžλ£Œν˜•.
λ¦¬μŠ€νŠΈλ³΄λ‹€ μ˜λ―Έκ°€ λΆ„λͺ…ν•œ 데이터λ₯Ό λ‹€λ£° λ•Œ μ‚¬μš©ν•œλ‹€.

student = {
  "이름": "κΉ€μ² μˆ˜",
  "λ‚˜μ΄": 20,
  "전곡": "컴퓨터곡학"
}

πŸ”‘ κ°’ μ ‘κ·Ό

student["이름"]        # κΉ€μ² μˆ˜
student.get("ν•™λ…„")    # None (μ—λŸ¬ μ—†μŒ)
student.get("ν•™λ…„", 1) # κΈ°λ³Έκ°’

❌ μ—†λŠ” ν‚€λ₯Ό []둜 μ ‘κ·Όν•˜λ©΄ KeyError λ°œμƒ

πŸ›  CRUD

contacts = {}

contacts["μ—„λ§ˆ"] = "010-1234-5678"
contacts.update({"친ꡬ": "010-0000-0000"})
del contacts["μ—„λ§ˆ"]

πŸ” λ”•μ…”λ„ˆλ¦¬ 순회

for key, value in student.items():
    print(f"{key}: {value}")

μ‹€λ¬΄μ—μ„œ κ°€μž₯ 자주 μ“°λŠ” ν˜•νƒœ


πŸ”— 3. λ¬Έμžμ—΄ (String)

λ¬Έμžμ—΄λ„ μ—¬λŸ¬ κ°’μ˜ 집합이닀.

text = "PYTHON"
text[0]   # 'P'
text[-1]  # 'N'

βœ‚ 자주 μ“°λŠ” λ©”μ„œλ“œ

text.upper()
text.strip()
text.replace("Python", "World")

✨ f-string (μ€‘μš”)

name = "철수"
age = 20

print(f"이름: {name}, λ‚˜μ΄: {age}μ„Έ")
print(f"λ‚΄λ…„ λ‚˜μ΄: {age + 1}μ„Έ")

πŸ‘‰ 가독성, 싀무 μ‚¬μš©μ„± λͺ¨λ‘ 졜고


πŸ“¦ 4. νŠœν”Œ (Tuple)

ν•œ 번 λ§Œλ“€λ©΄ μˆ˜μ • λΆˆκ°€
λ³€ν•˜λ©΄ μ•ˆ λ˜λŠ” 데이터에 μ‚¬μš©ν•œλ‹€.

location = (37.5665, 126.9780)

πŸ“Œ νŠœν”Œ μ–ΈνŒ¨ν‚Ή

x, y = location

μ’Œν‘œ, λ°˜ν™˜κ°’ μ²˜λ¦¬μ— 맀우 자주 λ“±μž₯


🎱 5. μ„ΈνŠΈ (Set)

쀑볡 제거용 μžλ£Œν˜•
μˆœμ„œκ°€ μ—†κ³ , 인덱싱 λΆˆκ°€

names = ["철수", "영희", "철수"]
unique = set(names)

⚠ remove vs discard

set.remove(x)   # μ—†μœΌλ©΄ μ—λŸ¬
set.discard(x)  # 없어도 OK

πŸ“Š μžλ£Œν˜• 비ꡐ μš”μ•½

μžλ£Œν˜•μˆœμ„œμˆ˜μ •μ€‘λ³΅
리슀트OOO
νŠœν”ŒOXO
λ”•μ…”λ„ˆλ¦¬OOν‚€ X
μ„ΈνŠΈXOX

βœ… 핡심 정리

  • λ¦¬μŠ€νŠΈμ™€ λ”•μ…”λ„ˆλ¦¬λŠ” 싀무 핡심
  • νŠœν”Œμ€ μ•ˆμ „ν•œ κ³ μ • 데이터
  • μ„ΈνŠΈλŠ” 쀑볡 제거 μ „μš©

profile
Gongbuhaja

0개의 λŒ“κΈ€