syntax - python: how do i know when i am on the last for cycle -
श्रेणी के लिए मैं (लेन (results_histogram)): अगर i! = Len (results_histogram) -1: url + = Str (results_histogram [i]) + ','
मेरी अगर बयान यह है कि मैं अंतिम लूप पर हूं या नहीं, लेकिन यह काम नहीं कर रहा है। क्या मैं गलत कर रहा हूं?
थोड़ा सवाल से बचने के लिए, आपको लगता है कि पुनः लिखा गया है:
>> यदि आपको typeError जैसे त्रुटि मिलती है: अनुक्रम वस्तु 0: अपेक्षित स्ट्रिंग, int मिला
, तो आप मध्यवर्ती परिणामों को
'' के साथ एक स्ट्रिंग में कनवर्ट कर सकते हैं। शामिल करें (मैप (str, results_histogram))
< कोड> str.join निस्संदेह एक पाश में एकाधिक स्ट्रिंग्स को जोड़ने की तुलना में अधिक कुशल है, क्योंकि पायथन में, तार अपरिवर्तनीय हैं, इसलिए हर कंसैक्शनकरण परिणाम एक नई स्ट्रिंग के निर्माण में होता है, जिसे बाद में बाद में कचरा बना दिया जाता है।
विशेष रूप से , आपका उदाहरण "काम नहीं कर रहा है" क्योंकि आप अंतिम तत्व पूरी तरह से छोड़ देते हैं, जब आप केवल अल्पविराम जोड़ना छोड़ना चाहते हैं यह एक छोटा सा उदाहरण के साथ स्पष्ट और स्पष्ट है:
& gt; & gt; & gt; X = [1,2,3]> gt; & gt; & gt; श्रेणी में (लेन (एक्स)) के लिए: ... अगर I! = Len (x) - 1: ... प्रिंट स्ट्र (x [i]) + ',', ... 1, 2, तो आप अपने उदाहरण के रूप में
के रूप में पुनः लिख सकते हैं (लेन (results_histogram)): url + = str (results_histogram [i]) अगर मैं! = Len (results_histogram) -1: url + = ','
लेकिन आपको अभी भी str.join
से छड़ी रहनी चाहिए।
Comments
Post a Comment