2013-05-02 7 views
11

एक सेट और प्रिंट अभिनेता के नाम पर मेरे कोड दोहराता:पायथन: लूप के लिए अंतिम तत्व में अल्पविराम कैसे मुद्रित नहीं करें?

for actor in actorsByMovies(): 
    print actor+",", 

परिणाम दिखाई देता है:

Brad Pitt, George Clooney, 

लेकिन मैं इसे अंतिम तत्व का पता लगाने के लिए इतना है कि यह पिछले मुद्रित नहीं होगा चाहते हैं अल्पविराम। नतीजा इसके बजाए होना चाहिए:

Brad Pitt, George Clooney 

मैं यह कैसे कर सकता हूं?

उत्तर

19
print ', '.join(actorsByMovies()) 
+4

ध्यान दें कि यह अजगर के अंतर्निहित 'में शामिल होने के()' स्ट्रिंग विधि का उपयोग कर सही काम करना द्वारा पूरे पाश बदल देता है। – unwind

+1

या 'प्रिंट सीपी + अभिनेता,; sep = ',' 'लूप से पहले खाली स्ट्रिंग पर सेट 'sep' के प्रारंभिक मान के साथ'। – tripleee

+1

'शामिल() 'इस तरह के जीवन बचतकर्ता रहा है क्योंकि मुझे इसके बारे में पता चला है। – Valdogg21

1

@jamylak द्वारा समाधान सबसे अच्छा है जब भी आप उपयोग कर सकते हैं, लेकिन आप अन्य बातों के लिए पाश रखने के लिए है, तो आप कुछ इस तरह कर सकते हैं:

from __future__ import print_function # Python [2.6, 3) 

for index, actor in enumerate(actorsByMovies()): 
    if index > 0: 
     print(', ', end='') 
    print(actor, end='') 

ही नए का उपयोग करना print समारोह, आप के बजाय str.join का उपयोग कर के ऐसा कर सकता है:

print(*actorsByMovies(), sep=', ') 
संबंधित मुद्दे