python - 高效使用

标签 python python-3.x

我有一个包含大量元组(准确地说是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))。

关于python - 高效使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14380948/

相关文章:

python - SQLITE 3 如何在触发器子句 Python 中插入自定义函数

python - Airflow 1.9.0 无法对任务进行排队

python-3.x - Pandas 的迭代速度非常慢

python - 类型错误 : '_AtIndexer' object is not callable in pandas

python - 需要等效的函数来获取 Exchangelib Python 中的 Alias,就像 win32com 中的这个函数 (item.sender.getexchange().Alias)

python - 如何对 pandas 中的每个组进行前向填充

python - 导入模块是输入还是过程?

python - 在 chrome 上获取请求的正文并将其用于 postman 请求

python - 从列表列表中删除特定类的所有元素

python - 如何使用 python 中的循环将键和值分配给字典?