Python Dictionaries - Advanced Guide with Examples (Hinglish)
Introduction
Dictionary Python ka ek hash map jaisa data structure hai jo key-value pairs me data store karta hai. Ye super-fast lookup deta hai aur real-world projects me kaafi useful hai, specially jab data ko uniquely identify karna hota hai.
Dictionary Create Karne ke Different Ways
# Method 1: Curly braces
person1 = {"name": "Amit", "age": 30}
# Method 2: dict() constructor
person2 = dict(name="Neha", age=25)
# Method 3: from list of tuples
person3 = dict([("name", "Raj"), ("age", 28)])
# Method 4: Dictionary comprehension
squares = {x: x*x for x in range(1,6)}
print(squares) # {1:1, 2:4, 3:9, 4:16, 5:25}
Keys and Values - Advanced Details
- Keys immutable hone chahiye: e.g. string, number, tuple.
- Values mutable bhi ho sakti hain: list, dict, set allowed hain.
- Duplicate keys overwrite karte hain: pehle value overwrite ho jati hai.
Safe Access with get() & setdefault()
student = {"name": "Arun", "age": 21}
print(student.get("grade", "Not Assigned")) # Default value de sakte ho
# Agar grade nahi mila to "Not Assigned" return hoga
student.setdefault("grade", "Pending")
print(student)
# {'name':'Arun','age':21,'grade':'Pending'}
Dictionary Update Tricks
info = {"a": 1, "b": 2}
extra = {"b": 3, "c": 4}
info.update(extra) # merge/update dict
print(info) # {'a':1, 'b':3, 'c':4}
Deleting Elements
data = {"x": 10, "y": 20, "z": 30}
val = data.pop("y") # delete & return
print(val) # 20
last = data.popitem() # remove last inserted
print(last) # ('z', 30)
data.clear() # puri dict empty kar do
print(data) # {}
Checking Existence
student = {"name": "Karan", "age": 19}
print("name" in student) # True
print("grade" not in student) # True
Looping Advanced Examples
person = {"name":"Ravi", "age":24, "city":"Delhi"}
# Keys loop
for k in person.keys():
print("Key:", k)
# Values loop
for v in person.values():
print("Value:", v)
# Items loop
for k, v in person.items():
print(f"{k} -> {v}")
Nested Dictionaries with Real Example
company = {
"emp1": {"name":"Rahul", "dept":"IT", "skills":["Python","SQL"]},
"emp2": {"name":"Sneha", "dept":"HR", "skills":["Excel","Recruitment"]}
}
print(company["emp1"]["skills"][0]) # Python
Dictionary Comprehension - Advanced
# Mapping numbers to even/odd
nums = {x: ("Even" if x%2==0 else "Odd") for x in range(1,8)}
print(nums)
# {1:'Odd', 2:'Even', 3:'Odd', ...}
Practical Examples
1. Word Frequency Counter
text = "apple banana apple orange banana apple"
counter = {}
for word in text.split():
counter[word] = counter.get(word, 0) + 1
print(counter)
# {'apple':3, 'banana':2, 'orange':1}
2. Student Record Management
students = {
101: {"name":"Anita","marks":85},
102: {"name":"Vikram","marks":92},
103: {"name":"Kiran","marks":78}
}
rollno = 102
print(students[rollno]["name"]) # Vikram
Dictionary vs Other Data Structures
- List: Ordered collection, index-based access.
- Set: Unique values only, no key-value relation.
- Dictionary: Key-based fast lookup, flexible values.
Summary
Dictionaries Python me ek super flexible aur optimized data structure hai jo real-world programming me bohot important hai. Agar aapko uniquely key-value relation maintain karna hai, to dictionary best choice hoti hai. Basic se leke advanced methods jaanna important hai taaki aap efficiently kaam kar saken.