πŸ”¬ Explore/파이썬

[파이썬] λ”•μ…”λ„ˆλ¦¬(Dictionary), dict()

devCloud 2024. 10. 25. 21:04
728x90

Dictionary

파이썬의 λ”•μ…”λ„ˆλ¦¬(dictionary)λŠ” ν‚€-κ°’ 쌍으둜 데이터λ₯Ό μ €μž₯ν•˜λŠ” λ³€κ²½ κ°€λŠ₯ν•œ(mutable) 자료 ꡬ쑰이닀. λ”•μ…”λ„ˆλ¦¬λŠ” ν•΄μ‹œ ν…Œμ΄λΈ” 기반으둜 κ΅¬ν˜„λ˜μ–΄ μžˆμ–΄, ν‚€λ₯Ό 톡해 값을 λΉ λ₯΄κ²Œ 검색, μΆ”κ°€, μ‚­μ œν•  수 μžˆλ‹€. 각 ν‚€λŠ” μœ μΌν•΄μ•Ό ν•˜λ©°, 값은 쀑볡될 수 μžˆλ‹€.

 

νŠΉμ§•

  • ν‚€-κ°’ 쌍 : 데이터λ₯Ό ν‚€(key)와 κ°’(value) ν˜•νƒœλ‘œ μ €μž₯ν•œλ‹€.
  • λ³€κ²½ κ°€λŠ₯ : λ”•μ…”λ„ˆλ¦¬μ— μƒˆλ‘œμš΄ ν‚€-값을 μΆ”κ°€ν•˜κ±°λ‚˜ κΈ°μ‘΄ 값을 λ³€κ²½ν•  수 μžˆλ‹€.
  • λΉ λ₯Έ 쑰회 : ν‚€λ₯Ό μ‚¬μš©ν•΄ 값을 λΉ λ₯΄κ²Œ μ‘°νšŒν•  수 μžˆλ‹€.
  • μˆœμ„œ 보μž₯ : 파이썬 3.7λΆ€ν„° μ‚½μž…ν•œ μˆœμ„œλŒ€λ‘œ ν•­λͺ©μ„ μœ μ§€ν•œλ‹€.

 

λ”•μ…”λ„ˆλ¦¬ 생성 방법

λ”•μ…”λ„ˆλ¦¬λŠ” μ€‘κ΄„ν˜Έ { }λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ dict() ν•¨μˆ˜λ₯Ό μ΄μš©ν•΄ 생성할 수 μžˆλ‹€.

 

1️⃣ μ€‘κ΄„ν˜Έ{ } μ‚¬μš©

my_dict = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

 

 

2️⃣ dict() ν•¨μˆ˜ μ‚¬μš©

my_dict = dict(name="Alice", age=25, city="New York")

 

 

λ”•μ…”λ„ˆλ¦¬ 킀와 κ°’ μ ‘κ·Ό

ν‚€λ‘œ 값에 μ ‘κ·Όν•˜λŠ” 방법과 get() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 값에 μ ‘κ·Όν•  수 μžˆλ‹€.

 

1️⃣ ν‚€λ‘œ 값에 μ ‘κ·Ό

print(my_dict["name"])  # 좜λ ₯: Alice
  • λ”•μ…”λ„ˆλ¦¬μ—μ„œ νŠΉμ • 킀에 ν•΄λ‹Ήν•˜λŠ” 값을 κ°€μ Έμ˜¨λ‹€.

 

2️⃣ get() λ©”μ„œλ“œ

print(my_dict.get("name", "Unknown"))  # 좜λ ₯: Alice
print(my_dict.get("address", "Unknown"))  # 좜λ ₯: Unknown
  • ν‚€κ°€ μ—†λŠ” 경우 기본값을 λ°˜ν™˜ν•˜λ„λ‘ ν•  수 μžˆλ‹€.
 

κ°’ μΆ”κ°€ 및 μˆ˜μ •

λ”•μ…”λ„ˆλ¦¬μ— μƒˆλ‘œμš΄ ν‚€-κ°’ μŒμ„ μΆ”κ°€ν•˜κ±°λ‚˜, κΈ°μ‘΄ 값을 μˆ˜μ •ν•  수 μžˆλ‹€.

my_dict["age"] = 26  # κ°’ μˆ˜μ •
my_dict["address"] = "Boston"  # μƒˆ ν‚€-κ°’ 쌍 μΆ”κ°€

 

 

κ°’ μ‚­μ œ

1️⃣ del 

del my_dict["city"]  # "city" ν•­λͺ© μ‚­μ œ
  • del ν‚€μ›Œλ“œλ‘œ νŠΉμ • ν‚€ 값을 μ‚­μ œν•  수 μžˆλ‹€.

2️⃣ pop() 

age = my_dict.pop("age")  # "age" ν•­λͺ©μ„ μ‚­μ œν•˜κ³  값을 λ°˜ν™˜
  • 인자둜 값을 λ„˜κΈ°λ©΄ 값을 λ°˜ν™˜ν•˜λ©΄μ„œ μ‚­μ œν•œλ‹€.

3️⃣ clear()

my_dict.clear()  # λ”•μ…”λ„ˆλ¦¬μ˜ λͺ¨λ“  ν•­λͺ© μ‚­μ œ
  • λͺ¨λ“  ν•­λͺ©μ„ μ‚­μ œν•œλ‹€.

 

λ”•μ…”λ„ˆλ¦¬ λ©”μ„œλ“œ

1️⃣ keys()

print(my_dict.keys())   # dict_keys(['name', 'address'])
  • λ”•μ…”λ„ˆλ¦¬μ˜ λͺ¨λ“  ν‚€λ₯Ό λ°˜ν™˜ν•œλ‹€.

 

2️⃣ values()

print(my_dict.values()) # dict_values(['Alice', 'Boston'])
  • λ”•μ…”λ„ˆλ¦¬μ˜ λͺ¨λ“  값을 λ°˜ν™˜ν•œλ‹€.

 

3️⃣ items()

print(my_dict.items())  # dict_items([('name', 'Alice'), ('address', 'Boston')])
  • (ν‚€, κ°’) μŒμ„ λ°˜ν™˜ν•œλ‹€.

 

λ”•μ…”λ„ˆλ¦¬ 반볡문

λ”•μ…”λ„ˆλ¦¬μ˜ 킀와 값에 λŒ€ν•΄ λ°˜λ³΅λ¬Έμ„ μ‚¬μš©ν•  수 μžˆλ‹€.

for key, value in my_dict.items():
    print(key, value)

 

 

πŸ“Œ λ”•μ…”λ„ˆλ¦¬ νŠΉμ§• μš”μ•½

  • ν‚€λŠ” κ³ μœ ν•˜κ³ , 값은 쀑볡 κ°€λŠ₯.
  • λ³€κ²½ κ°€λŠ₯: μƒˆλ‘œμš΄ μš”μ†Œλ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ μˆ˜μ •ν•  수 있음.
  • ν‚€λ‘œ λΉ λ₯Έ 검색이 κ°€λŠ₯.
  • 파이썬 3.7λΆ€ν„°λŠ” μ‚½μž… μˆœμ„œκ°€ μœ μ§€λ¨.

λ”•μ…”λ„ˆλ¦¬λŠ” 주둜 μ—°κ΄€λœ 데이터λ₯Ό μ €μž₯ν•˜κ±°λ‚˜, λΉ λ₯Έ 검색이 ν•„μš”ν•œ 경우 μœ μš©ν•˜κ²Œ μ‚¬μš©λœλ‹€.

 


728x90