2015-04-06 44 views
0

我寫了很簡單的代碼來生成輔音。我想知道這是最好的解決方案嗎?Python - 最快,最有效,最簡單的獲取輔音的方法

我最好的意思是:最快,最有效,最簡單的方法。

import string 

letters = string.ascii_lowercase 
vowels = 'aeiouy' 
consonants = ''.join([letter for letter in letters if letter not in vowels]) 
+3

是否有任何理由,你不能只使用'bcdfghjklmnpqrstvwxyz'字符串文字? – Ben 2015-04-06 08:30:22

+0

@本:是的,只有一個。在我看來,它看起來不好。但我可能是錯的。這就是我問的原因。 – 2015-04-06 08:33:08

+0

如果你關心效率,那麼我肯定會使用'consonants ='bcdfghjklmnpqrstvwxyz''!在我看來,它並不「看起來不好」 - 對於後來人們閱讀代碼的人來說,它很快就會明白你在做什麼。 – Ben 2015-04-06 08:37:31

回答

1

如果你想最有效的方法,我只是硬編碼值(Python會實習生,這個字符串並不會每次都計算出任何東西):

consonants = 'bcdfghjklmnpqrstvwxyz' 

這也是對於稍後閱讀代碼的人來說,這是最容易閱讀的 - 這是非常明顯的。

+1

@Ben:'y'字母是輔音嗎?英語不是我的母語,但...;) – 2015-04-06 08:43:53

+1

@MateuszJagiełło是的,它是一個輔音 - 但它是一個往往像一個元音的行爲;-) – Ben 2015-04-06 08:44:44

+1

'y'可以是一個輔音和一個元音,如果你看問題的話,你會發現在這種情況下要考慮'y'是一個元音。 – dbliss 2015-04-06 08:46:23