लिस्ट और टपल दोनों को Python के सीक्वेंस डेटा टाइप कहा जाता है। दोनों टाइप्स के ऑब्जेक्ट्स आइटम्स का कॉमा-सेपरेटेड संग्रह हैं, जरूरी नहीं कि एक ही टाइप के हों।
समानताएं
दोनों टाइप्स के ऑब्जेक्ट्स पर कनकैटेनेशन, रिपीटिशन, इंडेक्सिंग और स्लाइसिंग की जा सकती है।
>>> # लिस्ट ऑपरेशन्स >>> L1=[1,2,3] >>> L2=[4,5,6] >>> # कनकैटेनेशन >>> L3=L1+L2 >>> L3 [1, 2, 3, 4, 5, 6] >>> # रिपीटिशन >>> L1*3 [1, 2, 3, 1, 2, 3, 1, 2, 3] >>> # इंडेक्सिंग >>> L3[4] 5 >>> # स्लाइसिंग >>> L3[2:4] [3, 4]
>>> # टपल ऑपरेशन्स >>> T1=(1,2,3) >>> T2=(4,5,6) >>> # कनकैटेनेशन >>> T3=T1+T2 >>> T3 (1, 2, 3, 4, 5, 6) >>> # रिपीटिशन >>> T1*3 (1, 2, 3, 1, 2, 3, 1, 2, 3) >>> # इंडेक्सिंग >>> T3[4] 5 >>> # स्लाइसिंग >>> T3[2:4] (3, 4)
निम्न बिल्ट-इन फंक्शन्स दोनों टाइप्स के लिए सामान्य हैं:
len() - सीक्वेंस में एलिमेंट्स की संख्या लौटाता है
>>> L1=[45,32,16,72,24] >>> len(L1) 5 >>> T1=(45,32,16,72,24) >>> len(T1) 5
max() - सबसे बड़े मान वाला एलिमेंट लौटाता है।
>>> max(L1) 72 >>> max(T1) 72
min() - सबसे छोटे मान वाला एलिमेंट लौटाता है।
>>> min(L1) 16 >>> min(T1) 16
अंतर
लिस्ट ऑब्जेक्ट म्यूटेबल है। इसलिए, लिस्ट से आइटम को ऐपेंड, अपडेट या डिलीट करना संभव है।
>>> L1=[45,32,16,72,24] >>> L1.append(56) >>> L1 [45, 32, 16, 72, 24, 56] >>> L1.insert(4,10) # 10 को 4th इंडेक्स पर इन्सर्ट करें >>> L1 [45, 32, 16, 72, 10, 24, 56] >>> L1.remove(16) >>> L1 [45, 32, 72, 10, 24, 56] >>> L1[2]=100 # अपडेट >>> L1 [45, 32, 100, 10, 24, 56]
टपल इम्यूटेबल ऑब्जेक्ट है। इसे संशोधित करने की कोशिश करने वाला कोई भी ऑपरेशन AttributeError में परिणाम देता है।
T1.append(56) AttributeError: 'tuple' object has no attribute 'append' >>> T1.remove(16) AttributeError: 'tuple' object has no attribute 'remove' >>> T1[2]=100 TypeError: 'tuple' object does not support item assignment