试图捕获控制台输出并在其中查找关键字, 哪种方法应该更快? 例如:尝试通过 Python 运行"ls"命令并检查控制台输出中是否存在关键字
第一种方法 有一个字符串列表,然后在每个字符串中搜索
list_output = [ "abc", "def", "xyz"]
for i in list_output:
if "ab" in i:
print "found"
break
请注意:list_output中的每个项目本身可能是一个大字符串
第二种方法 有一个大字符串并在大字符串中搜索一个子字符串
string_output = "abcdefxyz"
if "ab" in S:
print "found"
请注意:string_output可能是一个巨大的字符串
找到第一个匹配项后需要立即停止搜索,无需进一步搜索整个字符串或列表
根据这一点,使用第二种方法比第一种方法快得多,因为第一种方法会动态设置哈希表,并且只进行线性搜索。
另外(仍然参考上面的链接(如果使用序列是必须的,set
更好list