2013-03-07 35 views
3

對於Python 3和編程來說,我很新。我試圖找到一個算法來找出句子何時是一個龐然大物。我已經通過一個函數借助字符串模塊解決了討價還價的一面,但是我還需要找出非龐氏硬幣中有多少個不同的字母(已將它們切換爲小寫字母)。在Python中查找字符串中有多少個不同的字母

任何幫助將是非常受歡迎的。

回答

3

嘗試尋找在設定的字母長度:

len(set(yourstring)) 


In [8]: set('lowercase') 
Out[8]: set(['a', 'c', 'e', 'l', 'o', 's', 'r', 'w']) 

In [9]: len(set('lowercase')) 
Out[9]: 8 

 

不要忘記刪除空格。

In [10]: len(set('The quick brown fox jumps over the lazy dog'.lower().replace(' ', ''))) 
Out[10]: 26 
+0

感謝您的快速響應。問題解決了! :) – 2013-03-07 22:36:16

+0

如何處理標點符號? – 2013-03-07 22:48:05

+0

@KyleStrand你可以用'isalpha'來檢查 – askewchan 2013-03-07 23:14:33

1

如果你不想計算標點符號,試試這個:

s = "It's the economy, stupid!" 
t = set(c.lower() for c in s if c.isalnum()) 
len(t) #returns 13 

或者,如果你只是想信:

s = "It's the economy, stupid!!!11!!" 
t = set(c.lower() for c in s if c.isalpha()) 
len(t) #returns 13 
0

你可以試試這個:

s = 'The quick brown fox jumps over the lazy dog' 
count = len(set(c.lower() for c in s if c != ' ')) 

在這裏,計數將是26.

相關問題