python兩種內置數據類型上各個操作的大O數量級
列表list和字典dict
對比list和dict的操作
80/20準則:80%的功能其使用率只有20%
所以越常用的功能,優化的越好,性能就越好
list列表數據類型常用的操作性能
最常用的是:按索引取值和賦值(v=a[i],a[i]=v)
由於列表的隨機訪問的特性,這兩個操作執行的時間與大小無關,均爲O(1)
列表增長:可以選擇append()
和+
lst.append(v),執行時間是O(1)
lst=lst+[v],執行時間是O(n+k),其中k是被加的列表長度
我們來舉個例子如何計算性能
下面是4種生成n個列表的方法
- 循環連接列表(+)方式生成
- append方法添加元素生成
- 列表推導式
- range函數調用轉成列表