Lesson 06 — Foundation
TUPLES & SETS:
FIXED AUR UNIQUE DATA
Kabhi kabhi data change nahi hona chahiye — jaise coordinates ya RGB values. Tuple woh collection hai jo ek baar banne ke baad fix rehta hai. Aur Set? Woh sirf unique values rakhta hai, duplicates ko kaat deta hai.
Masala Daani samjho: dabba = variable (container ka naam)
Ek dabba (variable) ke andar 4 dibbi — aur har dibbi me wahi 5 masale: string, int, float, complex, bool. Aage har lesson apni dibbi khol kar dikhayega.
WHY: tuples aur sets kyun zaruri hain
Tuples unmutable collections hain jab data change nahi hona chahiye (coordinates, RGB values, function returns). Sets unique values store karte hain aur mathematical set operations support karte hain.
Tuple ek baar banne ke baad change nahi hota.
Set sirf unique values rakhta hai.
Tuple ordered hai, Set unordered.
WHAT: tuples aur sets basic syntax
# Tuples
colors = ("red", "green", "blue")
print(colors[0]) # red
print(len(colors)) # 3
# Tuple unpacking
x, y, z = colors
print(x) # red
# Sets
unique_numbers = {1, 2, 3, 2, 1}
print(unique_numbers) # {1, 2, 3}
# Set operations
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # union: {1, 2, 3, 4, 5}
print(a & b) # intersection: {3}WHEN: tuples aur sets kab use karein
Tuples tab use karo jab data fixed hona chahiye (coordinates, database rows). Sets tab jab duplicates remove karne ho ya set operations (union, intersection) karo.
Useful tuple & set operations
tuple()list ko tuple mein convert karta hai;set()list ko set mein.a | bunion deta hai — dono sets ke saare unique items.a & bintersection — sirf common items.a - bdifference — jo pehle mein hai par doosre mein nahi.- Tuples mein slicing same hai jaise lists mein:
colors[0:2].
Quick check
Ek tuple banao jisme 3 cities ho: Lucknow, Delhi, Mumbai. Answer mein tuple use karo.
Tuple parentheses mein hota hai aur values comma-separated hote hain.
Unpack karna: khol ke baant lo
Tuple ke items seedha alag variables me daal do — Swiggy order ka unpack, ya do variables ki adla-badli ek line me. Extra items * se pakdo.
order = ("SWIGGY-4821", 250, "paid")
oid, amount, status = order
print(oid, amount, status)
a, b = 10, 20
a, b = b, a
print(a, b) # 20 10 (swap!)
first, *rest = [1, 2, 3, 4]
print(first, rest) # 1 [2, 3, 4]Frozenset aur methods table
Set ke andar duplicate apne aap gayab — coupon codes ya cities ki unique list ke liye best. frozenset wahi set hai jo badal hi nahi sakta (dict ki key ban sakta hai).
cities = ["Delhi", "Lucknow", "Delhi"]
print(set(cities)) # {Delhi, Lucknow} order fix nahi
s = {1, 2}
s.add(3)
s.discard(2)
print(s) # {1, 3}
print((5,).count(5)) # tuple: count/index chalte hain| Method | Kya karta hai | Example |
|---|---|---|
add(x) | Set me dalna | s.add(3) |
remove(x) | Hatana (na mile to error) | s.remove(3) |
discard(x) | Hatana (safe) | s.discard(9) |
pop() | Ek nikalna | s.pop() |
union / | | Dono ka jod | a | b |
intersection / & | Common wale | a & b |
difference / - | Farak wale | a - b |
Quick check
Ek element wala tuple likho jisme 5 ho.
Brackets ke andar comma lagana mat bhoolo — wahi tuple banata hai.
# Swap — interview favourite
a = 5
b = 9
a, b = b, a
print(a, b) # 9 5
# Dict key me tuple chalega, list nahi
loc = {(28.6, 77.2): "Delhi"}
print(loc[(28.6, 77.2)])MNC tip: "List vs tuple?" — mutability + hashability bolo, phir swap trick dikhao.
Loop aur join karna
Tuple par loop list jaisa hi — order fix hai. Do tuple + se judte hain, do baar chahiye to * se.
t1 = ("Delhi", "Lucknow")
for city in t1:
print(city)
t2 = (1, 2)
t3 = (3, 4)
print(t2 + t3) # (1, 2, 3, 4)Set par loop aur join
Set par bhi loop chalta hai — bas order fix nahi hota. | se union, & se common wale.
s = {"Delhi", "Lucknow"}
for city in s:
print(city)
a = {1, 2}
b = {2, 3}
print(a | b) # union
print(a & b) # intersectionCommon mistakes
- Tuples mein comma zaruri hai —
(1)nahi,(1,hai. Brackets sirf grouping dikhate hain. - Empty set
set()se banta hai,{}dict banata hai. - Tuples immutable hain —
colors[0] = "yellow"error karega. - Set mein order fix nahi hota — har baar different order aa sakta hai.
- Ek element ka tuple
(5,)hota hai —(5)sirf number hai, comma must hai. - Set me index nahi chalta —
s[0]error dega; loop yainuse karo.
Ab key-value pairs ke saath Dictionaries dekhte hain.