🗂️
Basics

Dictionaries

Key-Value Pairs
💡 Dictionary ek real dictionary jaisi hai — word (key) se meaning (value) dhundo, seedha, bina poori book scan kiye. Python ki dict ek super-fast phonebook hai — naam se number turant milta hai.

Dictionary ({}) key-value pairs store karti hai — Java ke HashMap ya C++ ke map jaisa concept, lekin Python mein syntax bahut simple hai aur ye ek core, first-class data type hai. Keys unique honi chahiye, values kuch bhi ho sakti hain.

Access karne ke liye dict[key] use karo, ya .get(key, default) (safer — agar key na ho to crash nahi hota, default value deta hai). Python 3.7+ se dictionaries insertion order preserve karti hain.

student = {"name": "Aarav", "age": 20, "marks": 85}

print(student["name"])          # "Aarav"
print(student.get("city", "Unknown"))  # "Unknown" — key nahi hai, safe default

student["city"] = "Mumbai"      # naya key-value add karo
student["age"] = 21              # existing value update karo

for key, value in student.items():   # iterate over key-value pairs
    print(f"{key}: {value}")

print("name" in student)   # True — key check karo
🗂️
Dictionary ek real dictionary jaisi hai — word (key) se meaning (value) dhundo, seedha, bina poori book scan kiye. Python ki dict ek super-fast phonebook hai — naam se number turant milta hai.
1 / 5
⚡ Quick Recap
  • {} se dictionary banti hai — key-value pairs
  • dict[key] direct access, .get(key, default) safe access
  • .items() se key-value pairs par iterate karo
Is page mein (2 subtopics)

List comprehensions jaisa hi concept, dictionaries ke liye — ek concise, readable tareeka dictionary banane ka, loop likhkar manually add karne ke bajaye.

squares = {x: x**2 for x in range(5)}
print(squares)   # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

names = ["Aarav", "Riya", "Zoya"]
name_lengths = {name: len(name) for name in names}
print(name_lengths)   # {'Aarav': 5, 'Riya': 4, 'Zoya': 4}
💡Tip: Dict comprehensions Pythonic hai jab result ek simple key-value transformation ho — complex logic ke liye normal loop zyada readable rehta hai.

Python 3.9+ mein | operator se dictionaries merge kar sakte ho — purane versions mein {dict1, dict2} pattern use hota tha.

defaults = {"theme": "light", "lang": "en"}
user_prefs = {"lang": "hi"}

# Python 3.9+:
merged = defaults | user_prefs
print(merged)   # {'theme': 'light', 'lang': 'hi'} — user_prefs override karta hai

# Older, universal way:
merged2 = {**defaults, **user_prefs}
💡Tip: Merge karte waqt, baad wali dictionary ki values pehle wali ko override karti hain — order matter karta hai.