Python 數據結構
阿新 • • 發佈:2017-11-01
ive 釋放 出現 前插 ima 頭部 pre ons class
Python 數據結構 主要有:list 列表,
1、list 列表
(1)基本方法
print("Python 數據結構之 lsit 列表")
a=[66.34,666,666,1,25.6]
print("list.count(x)是返回 x 在列表中出現的次數:",a.count(666),a.count(66.34),a.count(‘x‘))
a.insert(2,777)
print("list.insert(i, x)是在i前插入x:",a)
a.append(888)
print("list.append(x)是把一個元素添加到列表的結尾:",a)
print("list.index(x)是返回列表中第一個值為 x 的元素的索引。如果沒有匹配的元素就會返回一個錯誤: ",a.index(666))
a.remove(666)
print("list.remove(x)是刪除列表中值為 x 的第一個元素。如果沒有這樣的元素,就會返回一個錯誤:",a)
a.reverse()
print("list.reverse()是倒排列表中的元素:",a)
a.sort()
print("list.sort()是對列表中的元素進行排序",a)
【註意】類似 insert, remove 或 sort 等修改列表的方法沒有返回值。
結果為:
(2)list 列表可作為堆棧(後進先出)使用
用 append() 方法可以把一個元素添加到堆棧頂。
用不指定索引的 pop() 方法可以把一個元素從堆棧頂釋放出來。
>>> stack=[2,3,4,5] >>> stack.append(6) >>> stack.append(7) >>> stack [2, 3, 4, 5, 6, 7] >>> stack.pop() 7 >>> stack [2, 3, 4, 5, 6] >>> stack.pop() 6 >>> stack.pop() 5 >>> stack [2, 3, 4]
(3)list 列表可作為隊列(先進先出)使用
可以把列表當做隊列用,只是在隊列裏第一加入的元素,第一個取出來;但是拿列表用作這樣的目的效率不高。在列表的最後添加或者彈出元素速度快,然而在列表裏插入或者從頭部彈出速度卻不快(因為所有其他的元素都得一個一個地移動)。
>>> from collections import deque >>> queue=deque(["Zero","One","Two","Three"]) >>> queue.append("Four") # Four arrives >>> queue.append("Five") # Five arrives >>> queue deque([‘Zero‘, ‘One‘, ‘Two‘, ‘Three‘, ‘Four‘, ‘Five‘]) >>> queue.popleft() # The first to arrive now leaves ‘Zero‘ >>> queue.popleft() # The second to arrive now leaves ‘One‘ >>> queue # Remaining queue in order of arrival deque([‘Two‘, ‘Three‘, ‘Four‘, ‘Five‘])
Python 數據結構