在元组列表中查找元组的成本?

时间:2014-03-20 09:47:32

标签: python

假设我有一个list = [(key1,value1), (key2,value2)]形式的元组列表,那么如果列表中存在这样的元组,那么查找它是否快速/好:(key_x,value_x) in list?另外python如何搜索列表?!它是否比较指针或如何?!我是Java的新手。

2 个答案:

答案 0 :(得分:2)

item in your_list是Python中的O(n)操作。如果所有项目都不同且订单无关紧要且您需要进行多次查找,那么您可以使用set()而不是列表。 item in your_setO(1)O(n)最糟糕的情况)。

答案 1 :(得分:1)

列表的内容是什么并不重要。列表中的查找是O(n)。从第一个开始的每个项目都会与找到的任何项目进行比较,直到找到它为止。

item in l # l is a list

相当于

for i in l:
    if i == item:
        return True
return False