栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

检查字符串中是否存在元音

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

检查字符串中是否存在元音

vowels = {“a”, “e”, “i”, “o”, “u”, “A”, “E”, “I”, “O”, “U”}
if any(char in vowels for char in word):


注意: 这样比较好,因为它会在单词中找到元音后立即短路。因此,除非字符串中没有元音,否则不必检查所有字符。

编辑:运行
了一个

timeit
测试,发现@falsetru的答案非常快,但是经过很少的优化,该
re
版本胜过其他所有功能。

使用set.isdisjoint(此方法找到匹配项后立即返回):

>>> vowels = set('aeiou') # set('aeiouAEIOU') if you want case-insensitivty>>> not vowels.isdisjoint('bcd')False>>> not vowels.isdisjoint('hello')True
import revowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}pattern = re.compile("[AEIOUaeiou]")def intersection():    return bool(vowels.intersection("TWYNDYLLYNGS"))def any_version():    return any(char in vowels for char in "TWYNDYLLYNGS")def re_version():    return bool(pattern.search("TWYNDYLLYNGS"))def disjoint():    return vowels.isdisjoint("TWYNDYLLYNGS")from timeit import timeitprint timeit("intersection()", "from __main__ import intersection, vowels")print timeit("any_version()", "from __main__ import any_version, vowels")print timeit("re_version()", "from __main__ import re_version, vowels")print timeit("disjoint()", "from __main__ import disjoint, vowels")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/638867.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号