2010-09-27 15 views
28

क्या निम्न कार्य लिखने का कोई तरीका है ताकि मेरा आईडीई शिकायत न करे कि कॉलम एक अप्रयुक्त चर है?क्या अवांछित चर बनाने के बिना पाइथन में एक टुपल को अनपैक करना संभव है?

def get_selected_index(self): 
    (path, column) = self._tree_view.get_cursor() 
    return path[0] 
इस मामले मैं टपल में दूसरे मद के बारे में परवाह नहीं है और सिर्फ जब यह अनपैक किया है इसे करने के लिए संदर्भ छोड़ना चाहते में

उत्तर

49

पायथन में _ अक्सर अनदेखा प्लेसहोल्डर के रूप में उपयोग किया जाता है।

(path, _) = self._treeView.get_cursor() 

आप टुपल के रूप में अनपॅकिंग से बच सकते हैं क्योंकि इंडेक्स योग्य है।

def get_selected_index(self): 
    return self._treeView.get_cursor()[0][0] 
+17

यह ध्यान देने योग्य है कि '_' वाक्यात्मक जादू के किसी भी प्रकार है, लेकिन एक सम्मेलन नहीं है लायक है (बेशक, यह एक सम्मेलन IDEs और pylint द्वारा मान्यता प्राप्त है, और अजगर सम्मेलनों बहुत मजबूत हैं ...) – detly

+1

अजगर होगा सम्मेलनों के बिना कुछ भी नहीं हो! – fredley

+2

क्या यह सम्मेलन दस्तावेज है? – Nathan

4

आप दूसरे मद, क्यों सिर्फ पहले एक को अलग नहीं के बारे में परवाह नहीं करते हैं:

def get_selected_index(self): 
    path = self._treeView.get_cursor()[0] 
    return path[0] 
+0

ध्यान दें कि वापसी अब 'वापसी पथ 'होनी चाहिए, न कि' वापसी पथ [0]' –

+3

यह कमजोर है, क्योंकि यह इस बात को हटा देता है कि वास्तव में दो आइटम हैं। –

+0

@ माइकल मोर: मैंने आपके संपादन को वापस ले लिया है: मूल प्रश्न के आधार पर, यह अभी भी 'पथ [0]' होना चाहिए ('पथ 'एक अनुक्रम स्वयं प्रतीत होता है) – Steven

0

यह बहुत लग रहा है, मैं नहीं जानता कि एक अच्छा प्रदर्शन करता है, तो।

a = (1, 2, 3, 4, 5) 
x, y = a[0:2] 
संबंधित मुद्दे