python中列表的操作以及使用列表實現棧和隊列

>>> a = [1, 2, 3, 4, 5, 6]

>>> a.append(45)

>>> a

[1, 2, 3, 4, 5, 6,45]

首先我們建立了一個列表 a。然後調用列表的方法 a.append(45) 添加元素 45 到列表末尾。你可以看到元素 45 已經添加到列表的末端了。有些時候我們需要將數據插入到列表的任何位置,這時我們可以使用列表的 insert() 方法。

>>> a.insert(0, 1) # 在列表索引 0 位置添加元素 1

>>> a

[1, 1, 2, 3, 4, 5, 6,45]

>>> a.insert(0, 111) # 在列表索引 0 位置添加元素 111

>>> a

[111, 1, 1, 2, 3, 4, 5, 6,45]

其中insert的第一個參數爲插入的位置,列表中有n個元素的情況下第一個參數的取值範圍爲-n~n,當第一個參數大於n的時候統一當做n處理,當第一個參數小於-n的時候統一當做-n處理

比如

>>> a.insert(100, 100) # 在列表最後一個索引之後添加100

>>> a.insert(-100, 100) # 在列表第一個索引之前添加100

列表方法 count(s) 會返回列表元素中 s 的數量。我們來檢查一下 45 這個元素在列表中出現了多少次。

>>> a.count(45)

1

如果你想要在列表中移除任意指定值,你需要使用 remove() 方法。

 

>>> a.remove(45)

>>> a

[111, 1, 1, 2, 3, 4, 5, 6]

現在我們反轉整個列表。

>>> a.reverse()

>>> a

[6, 5, 4, 3, 2, 1, 1, 111]

怎樣將一個列表的所有元素添加到另一個列表的末尾呢,可以使用列表的 extend() 方法。

 

>>> b = [45, 56, 90]

>>> a.extend(b) # 添加 b 的元素而不是 b 本身

>>> a

[6, 5, 4, 3, 2, 1, 1, 111, 45, 56, 90]

給列表排序,我們使用列表的sort() 方法,排序的前提是列表的元素是可比較的。

 

>>> a.sort()

>>> a

[1, 1, 2, 3, 4, 5, 6, 45, 56, 90]

你也能使用 del 關鍵字刪除指定位置的列表元素。

 

>>> del a[-1]

>>> a

[1, 1, 2, 3, 4, 5, 6, 45, 56]

使用列表實現棧和隊列:

棧是一種後進先出的數據結構,我們可以使用列表的append和pop方法來實現

>>>a = [1, 2]

>>> a.append(1) # 入棧

>>>a.pop() # 最後一個元素出棧

>>>1

隊列是一種先進先出的數據結構,我們可以使用列表的append和pop(0)方法來實現

>>>a = [2, 1]

>>> a.append(1) # 入隊列

>>>a.pop(0) # 第0個元素出隊列

>>>2

也就是說隊列的pop方法可以實現刪除隊列中指定索引元素的功能

發佈了234 篇原創文章 · 獲贊 19 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章