list.index(value)执行什么样的查找?

时间:2013-03-13 22:21:35

标签: python list dictionary hashtable cpython

当我打电话时,python在幕后做了什么:

very_big_list.index(value)

在字符串列表中?

它比这个等效的字典查找更有效吗?

d = {'hello':1, 'dog':2, 'cat':3, ...}
print d['dog']

1 个答案:

答案 0 :(得分:3)

.index()循环遍历列表,直到找到相等的元素(element == searchterm为True)。字典查找很多更有效。

在CS术语中,.index()具有O(n)复杂度,dict查找为O(1)。请参阅Python Wiki上的Time Complexity overview