在 Python 中将字符串与多个项目进行比较
我正在尝试将名为 facility
的字符串与多个可能的字符串进行比较,以测试它是否有效。有效的字符串是:
auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7
除了以下之外,是否有一种有效的方法可以做到这一点:
if facility == "auth" or facility == "authpriv" ...
I'm trying to compare a string called facility
to multiple possible strings to test if it is valid. The valid strings are:
auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7
Is there an efficient way of doing this other than:
if facility == "auth" or facility == "authpriv" ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
OTOH,如果您的字符串列表确实长得可怕,请使用集合:
测试集合中的包含性平均为 O(1)。
If, OTOH, your list of strings is indeed hideously long, use a set:
Testing for containment in a set is O(1) on average.
除非你的字符串列表变得非常长,否则像这样的东西可能是最好的:
Unless your list of strings gets hideously long, something like this is probably best:
要有效地检查字符串是否与多个字符串之一匹配,请使用以下命令:
set()
是经过哈希处理、无序的项目集合,经过优化,可以确定给定的项目是否在其中。To efficiently check if a string matches one of many, use this:
set()
s are hashed, unordered collections of items optimized for determining whether a given item is in them.