1. 程式人生 > >Python 數據結構

Python 數據結構

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 數據結構