दिलचस्प पोस्ट
कुकी मूल्य पर आधारित htaccess रीडायरेक्ट कैसे करें एक्स-अक्ष को अपने मूल्यों के साथ बदलें कैसे दो तारीखों के बीच सोमवार या tuesdays की संख्या को खोजने के लिए? स्नैपशॉट दृश्य में फ़ाइलों की स्थानीय प्रतिलिपि खोजें क्यू वादे में एक फ़ंक्शन को छोड़ने का उचित तरीका मैं ऑब्जेक्ट के अंदर objc_setAssociatedObject / objc_getAssociatedObject का उपयोग कैसे करूं? पूर्ण यूरी: http://java.sun.com/jsp/jstl/core या तो वेब.एक्सएमएल या इस एप्लिकेशन से तैनात जार फाइलों में हल नहीं किया जा सकता है एक्शन बार पर कार्रवाई बटन दिखाई नहीं देता है? एम्बेडेड कैसे बनाने के लिए कई रिश्ते ember डेटा के साथ काम करते हैं विंडोज 8 की स्वचालित रंग थीम का सक्रिय रंग प्राप्त करें स्ट्रिंग और बाइट स्ट्रिंग के बीच अंतर क्या है? क्यूबिक बीज़ियर वक्र पर एक बिंदु के स्पर्शरेखा खोजें एंड्रॉइड में एड्रेस टेक्स्ट में कर्सर स्थिति प्राप्त करें? पृष्ठभूमि में एक RDLC रिपोर्ट से पीडीएफ बनाना एंट या मेवेन के बजाय ग्रेडल का उपयोग क्यों करें?

अजगर के रूप में पाइथन पासिंग सूची

अगर मैं इस कोड को चलाने के लिए गया था:

def function(y): y.append('yes') return y example = list() function(example) print(example) 

यह क्यों ['हां'] वापस लौटाएगा, भले ही मैं सीधे चर 'उदाहरण' को बदल नहीं पा रहा हूं, और मैं इस कोड को कैसे संशोधित कर सकता हूं ताकि फ़ंक्शन द्वारा 'उदाहरण' का प्रभाव न हो?

Solutions Collecting From Web of "अजगर के रूप में पाइथन पासिंग सूची"

सब कुछ एक पायथन में संदर्भ है यदि आप उस व्यवहार से बचने की इच्छा रखते हैं तो आपको list() साथ मूल की एक नई प्रतिलिपि बनाना होगा list() यदि सूची में अधिक संदर्भ हैं, तो आपको गहरेकोपी () का उपयोग करना होगा

 def modify(l): l.append('HI') return l def preserve(l): t = list(l) t.append('HI') return t example = list() modify(example) print(example) example = list() preserve(example) print(example) 

आउटपुट

 ['HI'] [] 

कोड को संशोधित करने का सबसे आसान तरीका फ़ंक्शन कॉल में [:] जोड़ देगा।

 def function(y): y.append('yes') return y example = list() function(example[:]) print(example) 

"यह ['yes'] क्यों वापस आएगा"

क्योंकि आपने सूची को संशोधित किया है, example

"भले ही मैं सीधे चर 'उदाहरण' नहीं बदल रहा हूँ।"

लेकिन आप कर रहे हैं, आप समारोह में चर example नाम से वस्तु प्रदान की है। फ़ंक्शन ऑब्जेक्ट की append विधि का उपयोग करके ऑब्जेक्ट को संशोधित करता है।

जैसे कि एसओ पर कहीं और चर्चा की गई, append कुछ भी नया नहीं बना। यह जगह में एक वस्तु को संशोधित करता है

देखें क्यों list.append गलत मूल्यांकन करने के लिए? , पायथन एपेंड () बनाम + ऑपरेटर सूची पर, क्यों ये अलग परिणाम देते हैं? , पायथन सूचियों में वापसी मूल्य जोड़ता है ।

और मैं इस कोड को कैसे संशोधित कर सकता हूं ताकि फ़ंक्शन द्वारा 'उदाहरण' का प्रभाव न हो?

उससे तुम्हारा क्या मतलब है? यदि आप फ़ंक्शन द्वारा अपडेट होने के example नहीं चाहते हैं, तो उसे फ़ंक्शन पर पास नहीं करें।

यदि आप फ़ंक्शन को एक नई सूची बनाने के लिए चाहते हैं, तो एक नई सूची बनाने के लिए फ़ंक्शन लिखें।

इसकी वजह से आप सूची को मुद्रित करने से पहले फ़ंक्शन बुलाया। यदि आप सूची को प्रिंट करते हैं, तो फ़ंक्शन को कॉल करें और फिर सूची को फिर से प्रिंट करें, तो आपको एपडेड संस्करण के बाद एक खाली सूची मिल जाएगी। अपने कोड के क्रम में