def search4vowels(word):
"""fucntion searchs for vowels from a given string input("") & counts them """
vowels = set("aeiou")
vowels = str(vowels)
found = {}
for letter in word:
if letter in vowels:
found.setdefault(letter, 0)
found[letter]+=1
for k,v in sorted(found.items()):
print (k,"has",v,"vowels in the sentence",word)
如果我要编写给定的句子作为单词函数自变量,如何在找到的字典中删除/删除或弹出空格键和值
答案 0 :(得分:1)
在您的解释器中尝试此操作
str(set("aeiou"))
结果是:
“ {'a','u','o','i','e'}”
由于该数据结构的字符串表示形式包含空格,因此,您发布的代码认为空格是元音。几个标点符号也是元音。显然,这不是您想要的。
如评论中所建议,最好简单使用
vowels = "aeiou"
if letter in vowels:
stuff
因为期望“ in”在集合上起作用,所以元音= set(“ aeiou”)可以起作用,并且是更好的做法。只是不要采用字符串表示形式。在使用五个字符串的情况下,性能不是问题,但是它可以更好地查找任意大数据集中的存在情况。
哦,是的,只是从字面上回答这个问题,第一个评论(Paul H)关于在错误添加键之后如何从dict中删除键是正确的。
found.pop(' ', None)