Lesson 06B - Deep Dive
TUPLE METHODS:
COUNT AUR INDEX
Tuple immutable hai - isliye Python ne isme sirf 2 methods diye hain: count() aur index(). Baaki saare kaam built-in functions se hote hain (len, max, sorted...). Ye page tuple ke dono methods + un 10+ functions ko real examples ke saath cover karta hai - interview aur exam dono ke liye.
WHY: tuple mein sirf 2 methods kyun hain
List mein 10+ methods hain (append, remove, sort...) kyunki list change ho sakti hai. Tuple ek baar banne ke baad fix - isliye add/remove/replace jaise methods ka koi matlab hi nahi. Python tuple ko jaan-boojh kar chhota rakhta hai: chhota object = fast aur safe.
Tuple mein sirf count() aur index() - dono sirf poochte hain, badalte nahi.
append, remove, insert, sort - kuch nahi chalega. Pehle list() banao.
len, max, min, sum, sorted, any, all - sab tuples par seedha chalte hain.
1. count() - kitni baar mila
count(x) batata hai ki value x tuple mein kitni baar aayi hai. Return type: int. Na mile to 0 - error nahi.
marks = (88, 92, 76, 92, 92, 85)
print(marks.count(92)) # 3
print(marks.count(76)) # 1
print(marks.count(100)) # 0 - absent ka count, error nahi
# Use case: exam results mein kitne students ne 92 banaye
toppers = (88, 92, 76, 92, 92, 85)
if toppers.count(92) > 1:
print("92 wale ek se zyada hain!")2. index() - kahan mila (pehli jagah)
index(x) value x ki pehli position (0-based index) deta hai. Na mile to ValueError - isliye safe pattern zaroor seekho.
cities = ("Lucknow", "Kanpur", "Varanasi", "Lucknow")
print(cities.index("Kanpur")) # 1
print(cities.index("Lucknow")) # 0 - sirf pehli jagah
# Safe pattern 1: pehle check
if "Agra" in cities:
print(cities.index("Agra"))
# Safe pattern 2: try-except
try:
print(cities.index("Agra"))
except ValueError:
print("Agra tuple mein nahi hai")Important: duplicate ho to index() sirf pehli position dega. Poori list chahiye to [i for i, v in enumerate(t) if v == x] pattern use karo.
3. Built-in functions jo tuples par chalte hain
Ye wahi sawaal hain jo "methods of tuple" naam se exam mein aate hain - answer: methods sirf 2, par functions bahut:
| Function | Kya karta hai | Example (tuple = (12, 4, 19, 4)) |
|---|---|---|
len(t) | Kitne elements | len(t) = 4 |
max(t) / min(t) | Sabse bada / chhota | max(t) = 19, min(t) = 4 |
sum(t) | Sabka total (numbers par) | sum(t) = 39 |
sorted(t) | Nayi sorted list (tuple nahi!) | sorted(t) = [4, 4, 12, 19] |
any(t) / all(t) | Koi truthy / sab truthy | any(t) = True |
in / not in | Member check | 12 in t = True |
sum(t, start) | Starting value ke saath | sum(t, 1) = 40 |
t = (12, 4, 19, 4)
print(len(t)) # 4
print(max(t), min(t)) # 19 4
print(sum(t)) # 39
print(sorted(t)) # [4, 4, 12, 19] - list milegi
print(sorted(t)[-1]) # 19 - sabse bada, one-liner
print(any(t), all(t)) # True True
print(19 in t) # True
# reverse tuple: sorted ka reverse flag
print(sorted(t, reverse=True)) # [19, 12, 4, 4]4. Unpacking: tuple ke andar se values nikaalo
# Poora unpack
x, y, z = (10, 20, 30)
print(x, y, z) # 10 20 30
# Star (*) - extra sab ek list mein
first, *rest = (1, 2, 3, 4)
print(first) # 1
print(rest) # [2, 3, 4]
# Swap trick: variables ki values exchange
a, b = 5, 9
a, b = b, a
print(a, b) # 9 5
# zip se 2 tuples jodo pairs banake
names = ("Aman", "Priya")
scores = (88, 95)
print(list(zip(names, scores))) # [('Aman', 88), ('Priya', 95)]
# Strings bhi tuple ki tarah unpack hote hain
ch, rest = "Lucknow"
print(ch, rest) # L ucknow5. Tuple banana aur badalne ka pattern
# Tuple banane ke tarike
t1 = (1, 2, 3) # direct
t2 = tuple([4, 5, 6]) # list se
t3 = tuple("abc") # string se -> ('a', 'b', 'c')
t4 = () # khali tuple
t5 = (7,) # single-element tuple - comma zaroori!
# Badalna ho to: tuple -> list -> change -> tuple
t = (1, 2, 3)
t = tuple(list(t) + [4]) # (1, 2, 3, 4)
print(t)6. Common mistakes (interview traps)
(5)tuple nahi hai - number hai! Single element tuple =(5,)- comma zaroori.t.sort()error dega - tuple mein sort method hi nahi.sorted(t)use karo (wo list deta hai).t.append(4)bhiAttributeError- pehlelist(t)banao, badlo, wapastuple().index()na mile parValueErrordeta hai -incheck ya try-except lagao.- Tuple mein tuple ho sakta hai (nested) - usse flatten karne ke liye recursion ya
itertools.chainchahiye.
Ab key-value pairs ke saath Dictionaries dekhte hain - Python ka sabse useful collection.