【发布时间】:2014-11-17 01:14:38
【问题描述】:
我正在尝试了解in 命令和列表数据结构的index() 的内部工作原理。
当我说:
if something not in some_list :
print "do something"
它是在内部遍历整个列表,类似于for 循环还是使用更好的方法,如hashtables 等。
列表中的index() 也会在列表中不存在该项目时给出错误。 in 和 index() 的工作方式相同吗?如果index() 更好,那么是否有可能在项目不存在时捕获错误,如果可能,是否是好的编程?
【问题讨论】:
-
O(n) 的有趣插图:
$ for i in 1 2 3 4 5 ; do python -mtimeit -s "l=range(int(1e$i))" "(-1) not in l" ; done
标签: python python-3.x python-2.7 list data-structures