2013-02-06 11 views
6

अगर वहाँ निम्न करने के लिए एक सरल तरीका है मैं सोच रहा था में पत्र में एक शब्द भी विभाजित करने के लिए:कैसे अजगर

इनपुट स्ट्रिंग:

input = 'Hello' 

आउटपुट स्ट्रिंग:

output = 'H,e,l,l,o' 

मैं समझता हूं कि आप list(input) कर सकते हैं, लेकिन यह एक सूची देता है और मैं सूची के बजाय स्ट्रिंग प्राप्त करना चाहता था।

कोई सुझाव?

उत्तर

19
In [1]: ','.join('Hello') 
Out[1]: 'H,e,l,l,o' 

यह इस तथ्य का उपयोग करता है कि तारों को पुन: सक्रिय किया जाता है और जब इसे ओवरराइट किया जाता है तो व्यक्तिगत पात्र उत्पन्न करते हैं।

0

के बाद से पहले से ही एनपीई ','.join('Hello') विधि प्रदान की है, मैं एक अलग समाधान है (हालांकि यह नहीं हो सकता है और अधिक pythonic):

inputStr, outputStr = 'hello', '' 
for char in inputStr: outputStr += char + ',' 
print outputStr[:-1] 

आउटपुट: 'h,e,l,l,o'

+4

आउटपुट: 'एच, ई, एल, एल, ओ,'। –

+0

@Legend वहां, इसे बदल दिया: पी –

+2

यह भी बहुत धीमी है: चूंकि पाइथन स्ट्रिंग अपरिवर्तनीय हैं, इसलिए प्रत्येक स्ट्रिंग कॉन्सटेनेशन में एक नई स्ट्रिंग बनाना और इसमें दो समेकित तारों की प्रतिलिपि बनाना शामिल है। –