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