list 列表常用操作和時間複雜度分析

2021-09-13 13:41:16 字數 1330 閱讀 9442

列表list是動態建立的,也就是說列表占用的記憶體空間可以不斷發生變化。

增加列表資料 操作

解釋時間複雜度

list末尾新增資料x

o(1)

list.insert(index, x)

index索引位置插入x,後面的元素往後移乙個單位

o(n)

刪除列表元素 操作

解釋時間複雜度

list.pop(index)

刪除並返回list[index]

o(n)

del list[index]

僅刪除list[index]

o(n)

list.pop()

刪除並返回最後乙個元素

o(1)

list.remove(x)

刪除下標最小的list中的x

o(n)

查詢元素

list[index]

返回下標index元素,index>=0

o(1)

list[-index]

返回倒數第index個元素,index>=0

o(1)

修改list

list[index]  = x

o(1)排序

list.sort()

在原列表上進行排序

o(n*logn)

sorted(list)

返回排序後的列表,但是原列順序不變同上

切片非常重要,在任何專案中,都會用的到的一種非常好用的方法。但是使用不合理,會增加時間複雜度。

切片 等價於 拷貝乙個副本,需要消耗一定的時間複雜度進行切割,如果切片進行賦值後,將儲存在新的記憶體中,此時切片和原列表是兩塊記憶體空間。例如:a = b[5:10]。深拷貝

而簡單的列表賦值,兩個變數將指向同乙個儲存單元, a = b。 此時a 和b完全等價,只是變數名不用。 切片

list[x:y]

返回list列表下標x ~ y-1 的子列表

o(n)

將切片(副本)傳給函式,可以防止函式修改原列表資料

常用操作

list.reverse()

原列表元素倒序

o(n)

len(list)

列表長度

o(1)

list(range(5))

建立數字列表

o(n)

max(list),

min(list),

sum(list)

求列表最大值,最小值,求和

o(n)

x = [t**2 for t in range(5)]

列表解析,快速生成滿足某規律的列表

o(n)

MPlayer 常用操作和快捷鍵列表

前進10秒 後退10秒 前進60秒 後退60秒 pageup 前進10分鐘 pagedown 後退10分鐘 enter 全屏space 暫停esc退出q 退出9降低音量 0增大音量 降低音量 增大音量 a切換聲道 o切換螢幕顯示鍵盤控制 比如音量 和時間的格式 v切換是否顯示字幕 j在不同語言的字幕...

list列表常用方法

好多都走馬觀花過去了.發現不常用的方法不太記得了.複習一下,鞏固下記憶.python內建資料型別列表 list list 列表 是一種有序的集合,可以隨時新增和刪除其中的元素 所以列表是可迭代物件 list google runoob google runoob 2000 list google r...

Python 列表 list 操作

建立列表 sample list a 1,a b python 列表操作 sample list a b 0,1,3 得到列表中的某乙個值 value start sample list 0 end value sample list 1 刪除列表的第乙個值 del sample list 0 在列...