2016-04-01 31 views
0

Bir dizedeki harfleri nasıl listeleyeceğimi ve sayıları veya diğer karakterleri yok saymayı denedim. For döngüsünü kullanarak nasıl yapılacağını anladım, ancak for döngüsünü kullanmadan bunu nasıl yapacağımı bilemedim. Bu benim döngü için kullanılan nasıl:Dize için boşluk kullanmadan dize içindeki harfleri bulun

>>> a = "Today is April 1, 2016" 
    for i in a: 
     if i.isalpha(): 
       list(i) 

Herhangi bir yardım takdir edilecektir!

+1

Yani başlık using..' olmadan 'olmalıdır? – Lafexlos

+2

're.sub (" [^ a-zA-Z] "," ", a)'? –

+1

list Listenin (i) 'ne yapması gerekiyor? – zondo

cevap

1

Bunun için filter kullanabilirsiniz:

>>> ''.join(filter(str.isalpha, a)) 
'TodayisApril' 
0
list(set([x for x in a if x.isalpha()])) 

bu it :) yapmalıyım

+0

Doğru, çok daha iyi. –

+0

Sorudan: 'for döngüsünü kullanarak nasıl yapılacağını anladım, ancak for döngüsünü kullanmadan nasıl yapılacağını öğrenemedim.' Ve bu cevap 'for' döngüsünü kullanıyor. – Lafexlos

+0

Aslında bir liste kavrama ... http://stackoverflow.com/questions/22108488/are-list-comprehensions-and-functional-functions-faster-than-for-loops –

İlgili konular