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
On this page (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.