यह कोड सही है:
def delete_a_list_element(list_data, element_value): result =[] if not (element_value in list_data) : return 0 else : while (element_value in list_data) : list_data.remove(element_value) result = list_data return result
यह कोड गलत है:
def delete_a_list_element(list_data, element_value): result =[] if not (element_value in list_data) : return 0 else : while (element_value in list_data) : result = list_data.remove(element_value) return result
मुझे नहीं पता क्यों (2) गलत है।
2 जवाब
आप list_data.remove(element_value)
वापस करने की कोशिश कर रहे हैं, लेकिन आप ऐसा नहीं कर सकते क्योंकि "निकालें" पायथन में एक अंतर्निहित फ़ंक्शन है जो कोई नहीं देता है। पहला उदाहरण काम करता है क्योंकि आप हटाने के बाद list_data लौटा रहे हैं
list.remove(x)
कुछ भी वापस नहीं करता है, यह एक void
विधि है। यह सूची को अद्यतन करता है लेकिन कुछ भी वापस नहीं करता है।
None
लौटाता है। पायथन में शून्य की कोई अवधारणा नहीं है।
दूसरा दृष्टिकोण None
list.remove()
विधि के कारण लौटाता है। डिफ़ॉल्ट रूप से remove()
कोई मान नहीं लौटाता (returns None
)। इसलिए दूसरे दृष्टिकोण में new list
के बजाय result is None
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।
return list_data
है। लेकिन पाइथन विधियां और कार्य जो उनके विषय को बदलते हैं (जैसे हटाएं!) परंपरागत रूप से कुछ भी वापस नहीं करते हैं। यह स्पष्ट नहीं है कि आप सूची को वापस करने की अपेक्षा क्यों करेंगे, ऐसा नहीं है जो दस्तावेज़ कहता है।