2011-12-02 14 views
27

मुझे list एस साफ़ करने में कोई समस्या है। वर्तमान कार्यक्रम में, मेरे पास एक विधि है जो list एस की एक निश्चित संख्या को साफ़ करती है। कार्यक्रम के एक हिस्से के दौरान यह असुविधाजनक है जहां इस विधि का उपयोग किया जाता है, अगर यह केवल सूचियों से अंतिम तत्व हटा देता है तो यह बहुत उपयोगी होगा। क्या कोई समस्या है जिसमें मैं इस समस्या को हल करने के लिए अपनी विधि के पैरामीटर के रूप में इंडेक्स नंबर सेट कर सकता हूं?सूची में अंतिम तत्व को हटाने के साथ-साथ सभी तत्वों को हटाने के लिए सूची विधि

विधि

def clearLists(self): 
    del self.Ans[:] 
    del self.masses[:] 

जब भी मैं इस विधि का उपयोग करना चाहते हैं, मैं केवल self.ClearLists() लिख सकते हैं और यह एक सूची में प्रत्येक तत्व को हटा देता है के लिए कोड।

+2

मुझे प्रश्न शीर्षक और शरीर के बीच संबंध नहीं दिख रहा है। – fortran

+0

इसके बारे में क्षमा करें, यह एक पुराने, पोस्ट न किए गए प्रश्न से बचा हुआ था, अब फिक्स किया गया। – user1036197

+3

यदि आप अपनी सूचियों को साफ़ नहीं करना चाहते हैं, तो आप 'clearLists' नामक विधि क्यों कॉल करेंगे? – geoffspear

उत्तर

9

सूचियों का अंतिम तत्व हटाने के लिए आप इस्तेमाल कर सकते हैं:

def deleteLast(self): 
    if len(self.Ans) > 0: 
     del self.Ans[-1] 
    if len(self.masses) > 0: 
     del self.masses[-1] 
81

आप lst.pop() या del lst[-1]

+1

जो पॉप() विधि चट्टानों, धन्यवाद – armani

+9

'पॉप()' आइटम को हटा देता है और वापस देता है, यदि आप वापसी का उपयोग नहीं करना चाहते हैं; ') –

0

सिर्फ ऐसा करने के सूची से पिछले तत्व को हटाने के लिए उपयोग कर सकते हैं।

a = [1,2,3,4,5] 
a = a[:-1] 
#Output [1,2,3,4] 
संबंधित मुद्दे