Python

2013-02-06 8 views
6
aşağıdakileri yapmak için basit bir yol olup olmadığını merak ediyorum

harflerin bir kelime bölmek için:Python

Giriş dizesi:

input = 'Hello' 

Çıktı dizesi:

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

Anladığım kadarıyla list(input) yapabilirsin, ama bu bir liste döndürür ve listeden ziyade dize almak istedim.

Herhangi bir öneriniz var mı?

cevap

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

Bu, dizelerin yinelenebilir olduğu ve yinelenen tek tek karakterleri oluşturduğu gerçeğini kullanır.

5
outputstr = ','.join(inputstr) 
0

NPE zaten ','.join('Hello') yöntem sağlanmaktadır beri (daha Pythonic olmayabilir ama) farklı bir çözüm vardır:

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

Çıkış: 'h,e,l,l,o'.

+4

Çıkış: 'h, e, l, l, o,'. –

+0

@Legend Orada da değişti: P –

+2

Ayrıca çok yavaş: Python dizeleri değişmez olduğundan, her bir dizilim birleştirmesi yeni bir dizgi oluşturmayı ve iki birleştirilmiş dizeyi ona kopyalamayı içerir. –