लिस्ट्स परिवर्तनीय होती हैं - हम उनके तत्वों को l[1] = 100 के साथ बदल सकते हैं। Python लिस्ट्स का एक विकल्प प्रदान करता है - tuple, जो सुनिश्चित करता है कि व्यक्तिगत तत्व नहीं बदलेंगे। इसका उपयोग मुख्य रूप से उन सूचनाओं के लिए किया जाता है जो आपस में गहराई से संबंधित होती हैं, ताकि जब एक तत्व को अपडेट किया जाए, तो पूरी जानकारी बदल जाती है और इसलिए पूरे ट्यूपल को अपडेट किया जाना चाहिए।
ध्यान दें कि यहाँ एकमात्र अंतर यह है कि हम लिस्ट्स के लिए इस्तेमाल होने वाले ब्रैकेट्स [] की बजाय कोष्ठकों () का उपयोग करते हैं। हम कोष्ठकों को भी छोड़ सकते हैं और बस box = 20, 30, 50 का उपयोग कर सकते हैं, जिससे बिल्कुल वही ट्यूपल प्राप्त होगा।
ट्यूपल्स परिवर्तनीय नहीं होते। इनमें तत्व जोड़ने के लिए append या add जैसी कोई मेथड नहीं होती। यदि हम बॉक्स की ऊँचाई बदलने का प्रयास करते हैं, तो हमें पूरे ट्यूपल को बदलना होगा:
box = (20, 30, 50)
box[0] = 10 # TypeError: 'tuple' object does not support item assignment
box = (10, 30, 50) # ठीक है
box = 10, 30, 50 # ठीक है
ट्यूपल के तत्वों को अनपैक करने का एक आसान तरीका भी है:
क्या आप जानते हैं कि आप एक ही लाइन कोड में एक से अधिक इनपुट पढ़ सकते हैं?
name, height = input(), int(input())
यह ट्यूपल्स और मानों के अनपैकिंग के कारण संभव है।
आपसे n मरीजों के रिकॉर्ड पढ़ने और उनके आँकड़े रिपोर्ट करने के लिए कहा गया है। इस बार रिकॉर्ड में उनके नाम और प्रत्येक मरीज का वजन शामिल है। आपको सभी मरीजों का औसत वजन रिपोर्ट करना है, और प्रत्येक मरीज के लिए यह बताना है कि वे औसत से कितना ऊपर या नीचे हैं।
इनपुट की पहली पंक्ति में एक एकल पूर्णांक n होता है - मरीजों की संख्या। अगली पंक्तियाँ प्रत्येक मरीज का नाम और उसके बाद की पंक्ति में उनका वजन शामिल करती हैं।
प्रोग्राम को सबसे पहले औसत वजन प्रिंट करना चाहिए, और फिर मरीजों के नामों को कॉलन के साथ, और यदि वजन औसत से अधिक या बराबर है तो X above average और यदि कम है तो X below average प्रिंट करना चाहिए।
इनपुट
आउटपुट
3
Anna
50
Bob
80
Simon
71
67
Anna: 17 below average
Bob: 13 above average
Simon: 4 above average