Cor*_*ter 2 python for-loop list-comprehension generator
我的问题就像标题一样.
我正在编写这个项目,需要多次迭代一些庞大的元组列表,这需要永远.所以我现在正在努力优化我的代码.我需要遍历元组列表的主要原因是,假设我有一个值,我想知道它是否在列表中,同一元组中的另一个值是什么.
任何输入将非常感激.提前致谢.
使用字典而不是元组列表会更有效率 - 通常,从字典中获取给定键的值是O(1)(恒定速度,无论字典有多大),同时去通过搜索元组的整个列表是O(n)(这意味着随着列表的增长效率下降).
列表理解而不是for循环不应该产生很大的不同,除了在列表理解中你实际上正在构建一个列表 - 所以如果你正在经历的循环非常大,你可能会遇到内存问题.
听起来你应该在这个场景中有一个字典 - 顺便说一句 - 将一个元组列表转换为一个字典,只需这样做:
dict(list_of_tuples)