Skip to main content
 首页 » 编程设计

python之高效使用

2025年05月04日14zfyouxi

我有一个包含大量元组(准确地说是1500个元组)的元组,如下:

l = ( ("i",), ("i", "am"), ("im",), ("im", "here"), ("go",) ...) 

l中的项目是唯一的。

我希望按如下所示在此列表中查找项目:

if i in l: 
  do_something_with(i) 

我怎样才能让这个查找更有效率?我应该对 l 进行排序吗?以这种形式搜索列表会不会更有效率:

l = ( "i", "i am", "im", "im here", "go" ...) 

请您参考如下方法:

列表和元组中的查找总是低效的;使用 set() 代替:

lookupl = set(l) 

测试集合中的成员资格是恒定成本 (O(1)),而列表和元组成员资格测试具有线性成本 (O(n))。