上一章我们看Python内置的模块可以测试代码的时间,有的代码执行时间短有的执行时间长,就是说效率不一样。
如果上面不明显的话,大家看下面两个方法。append() 和 insert(0)
import timeit
def t6():li = []for i in range(10000):li.append(i)def t7():li = []for i in range(10000):li.insert(0, i)timer6 = timeit.Timer("t6()", "from __main__ import t6")
print("append", timer6.timeit(1000))timer7 = timeit.Timer("t7()", "from __main__ import t7")
print("insert(0)", timer7.timeit(1000))
执行结果。
append 1.1817268750736
insert(0) 25.375035200030037
我们看上面两个方法的概念,是append是向列表后面添加元素,insert(0) 是向列表前面添加。可以看出从前面添加要不从后面添加花费的时间更多。
为什么会有这样的差别呢?
我们看一下Python中列表和字典不同,假设我们要从数据中找到小明和数据我们需要的时间怎么样的操作。
[{name: '小a},{name: '小b'},{name: '小c'}, {name: '小明'} ... n] , 我们需要遍历这个列表然后才能知道那一条数据是小明。
{ '小a': {...}, '小b': {...}, '小c': {...},'小明': {...} ..... },如果在字典里面去查找我们就可以直接找到小明的数据。
数据结构的概念是:
数据是一个抽象的概念,将其进行分类后得到程序设计语言中的基本类型。如 int string float ... 数据元素之间不是独立的,存在特定的关系,这些关系便是结构。数据结构指数据对象中数据元素之间的关系。