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

有效地检查字符串是否由Python中的一个字符组成

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

有效地检查字符串是否由Python中的一个字符组成

到目前为止,这是最快的,甚至比

count()
它快几倍,只需使用出色的mgilson计时套件即可:

s == len(s) * s[0]

在这里,所有检查都是在Python C代码中完成的,它只是:

  • 分配len个字符;
  • 用第一个字符填充空间;
  • 比较两个字符串。

字符串越长,时间奖励就越大。但是,正如mgilson所写,它会创建字符串的副本,因此,如果您的字符串长度为数百万个符号,则可能会出现问题。

从计时结果可以看出,解决任务的最快方法通常不会为每个符号执行任何Python代码。但是,该

set()
解决方案还可以在Python库的C代码中完成所有工作,但是它仍然很慢,可能是由于通过Python对象接口操作字符串。

UPD: 关于空字符串大小写。如何处理它很大程度上取决于任务。如果任务是“检查字符串中的所有符号是否都相同”,

s == len(s) *s[0]
则为有效答案(无符号表示错误,可以例外)。如果任务是“检查是否存在唯一的唯一符号”,则空字符串应为False,答案为
s and s ==len(s) * s[0]
,或者
bool(s) and s == len(s) *s[0]
您是否希望接收布尔值。最后,如果我们将任务理解为“检查是否存在不同的符号”,则空字符串的结果为True,答案为
not s or s ==len(s) * s[0]



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

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

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