在 Python 中将一个字符串与多个项目进行比较[重复]
- 2024-12-19 09:24:00
- admin 原创
- 139
问题描述:
我尝试将一个字符串facility
与多个可能的字符串进行比较,以测试它是否有效。有效的字符串包括:
auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7
除了以下方法之外,还有其他有效的方法吗:
if facility == "auth" or facility == "authpriv" ...
解决方案 1:
另一方面,如果你的字符串列表确实非常长,请使用一组:
accepted_strings = {'auth', 'authpriv', 'daemon'}
if facility in accepted_strings:
do_stuff()
测试集合内的包含性平均为 O(1)。
解决方案 2:
除非你的字符串列表非常长,否则最好的可能是这样的:
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc
if facility in accepted_strings:
do_stuff()
解决方案 3:
为了有效地检查一个字符串是否与多个字符串之一匹配,请使用以下命令:
allowed = set(('a', 'b', 'c'))
if foo in allowed:
bar()
set()
s 是经过散列的、无序的项目集合,已针对确定其中是否包含给定项目进行了优化。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD