这是我的代码:
import string # to import the alphabet <-'abcdefghijklmnopqrstuvwxyz'
alpha = string.lowercase
vowels = "aeiou"
alpha = alpha.strip(vowels)
sentence = "methinks it is like a weasel"
words = sentence.split(" ")
characters = list(sentence)
words
characters
alpha
vowels
当我打印时,我得到了这个:
['methinks', 'it', 'is', 'like', 'a', 'weasel']
['m', 'e', 't', 'h', 'i', 'n', 'k', 's', ' ', 'i', 't', ' ', 'i', 's', ' ', 'l', 'i', 'k', 'e', ' ', 'a', ' ', 'w', 'e', 'a', 's', 'e', 'l']
'bcdefghijklmnopqrstuvwxyz'
'aeiou'
我希望从字母表中删除所有元音,但到目前为止它只删除a(领先系数)。
答案 0 :(得分:0)
[character for character in sentence if character not in vowels] # returns list
这个列表理解应该适合你。
它的工作方式是它利用了vowels
和sentences
iterables 的事实:你可以在它们上面定义一个for循环,可以这么说。具体来说,它会提取sentence
中的每个字符,检查vowels
中是否显示相同的字符,然后才将其插入列表中。
如果您想在结尾处使用字符串,只需使用join
:
''.join([character for character in sentence if character not in vowels]) # returns string without vowels
答案 1 :(得分:0)
我写了一个示例代码,希望它有所帮助。
words = ['Ahmad Siavashi', 'Mohammad Siavashi']
print [''.join([c for c in w if c not in 'aeoui']) for w in words]
输出:
['Ahmd Svsh', 'Mhmmd Svsh']
如果您只想要一个字符串,请使用:
print ''.join([c for c in "methinks it is like a weasel" if c not in 'aeoui'])