在字符串列表或大字符串列表中搜索,哪个更快?



试图捕获控制台输出并在其中查找关键字, 哪种方法应该更快? 例如:尝试通过 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

相关内容

  • 没有找到相关文章

最新更新