टपल बनाना और पढ़ना
T = (4, 7, 2), E = (), S = (5,) (कॉमा ज़रूरी), P = 1, 2, 3 (कोष्ठक वैकल्पिक), tuple('ab') → ('a', 'b')।
इंडेक्स से पढ़ें: T[0] = 4, T[-1] = 2। टपल इम्यूटेबल है: T[0] = 5 से TypeError। (टपल में लिस्ट हो तो वह लिस्ट ख़ुद बदल सकती है।)
टपल संक्रियाएँ
- जोड़ना: (1, 2) + (3,) → (1, 2, 3)
- दोहराना: (0, 1) * 2 → (0, 1, 0, 1)
- सदस्यता: 7 in T → True
- स्लाइसिंग: T[1:3] → (7, 2); T[::-1] → (2, 7, 4)
- ट्रैवर्सल:
for x in T: print(x)
हर संक्रिया नया टपल बनाती है; पुराना वैसा ही रहता है।
टपल फ़ंक्शन और मेथड
| फ़ंक्शन / मेथड | T = (4, 7, 2, 7) |
|---|---|
| len(T) | 4 |
| T.count(7) | 2 |
| T.index(2) | 2 |
| min(T), max(T), sum(T) | 2, 7, 20 |
| sorted(T) | [2, 4, 7, 7] (लिस्ट) |
| tuple(list) | लिस्ट को टपल बनाता है |
append, remove या sort मेथड नहीं हैं, क्योंकि टपल बदलता नहीं।
टपल असाइनमेंट
पैकिंग: t = 3, 8 मानों को एक टपल में रखता है। अनपैकिंग: a, b = t से a = 3, b = 8। नामों और मानों की गिनती बराबर हो, वरना ValueError।
तीसरे वेरिएबल के बिना अदला-बदली: a, b = b, a। पहले दायाँ भाग पैक होता है, फिर a और b में खुलता है।
फ़ंक्शन कई मान टपल में लौटा सकता है: q, r = divmod(17, 5) → 3, 2।
नेस्टेड टपल
S = ((1, 'Riya', 91), (2, 'Aman', 85))
print(S[1][1]) # Aman
for roll, name, m in S:
print(name, m)नेस्टेड टपल तय तालिकाएँ रखते हैं, जैसे रिकॉर्ड जो गलती से न बदलें।
लिस्ट बनाम टपल
| लिस्ट | टपल |
|---|---|
| [ ] | ( ) |
| म्यूटेबल | इम्यूटेबल |
| कई मेथड (append, sort…) | केवल count() और index() |
| बदलने वाले डेटा के लिए | तय डेटा के लिए; थोड़ा तेज़ और सुरक्षित |
मुख्य सूत्र और परिभाषाएँ
- एक आइटम: (5,)
- टपल इम्यूटेबल: T[i] = x → TypeError
- मेथड: count(), index(); फ़ंक्शन: len, min, max, sum, sorted
- अनपैकिंग: a, b = (3, 8) · स्वैप: a, b = b, a
- नेस्टेड: S[पंक्ति][स्तंभ]
हल किए गए उदाहरण
1. T = (10, 20, 30, 40)। T[1:3], T[-1], T + (50,), 25 in T निकालें।
(20, 30); 40; (10, 20, 30, 40, 50); False।
2. type((5)) और type((5,)) क्या हैं?
type((5)) int है (कोष्ठक केवल समूह बनाते हैं); type((5,)) tuple है।
3. आउटपुट? T = (3, 1, 3, 2); print(T.count(3), T.index(2), sorted(T))
2 3 [1, 2, 3, 3]
4. टपल से x = 5 और y = 9 की अदला-बदली करें।
x, y = y, x → x = 9, y = 5।
5. उपयोगकर्ता से लिए अंकों के टपल में max और min निकालें।
T = tuple(int(x) for x in input().split()) print(max(T), min(T))
6. S = ((1, 'Riya', 91), (2, 'Aman', 85))। औसत अंक छापें।
total = 0 for r in S: total += r[2] print(total / len(S)) # 88.0
आम गलतियाँ
- एक आइटम वाले टपल के लिए (5) लिखना। (5,) लिखें।
- T.append(3) या T.sort() लिखना। टपल में ये मेथड नहीं।
- गलत गिनती में अनपैक करना: a, b = (1, 2, 3) से ValueError।
- सोचना कि sorted(T) टपल देता है। यह लिस्ट देता है; tuple(sorted(T)) लिखें।