1. 程式人生 > >python中列表的操作以及使用列表實現棧和佇列

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方法可以實現刪除佇列中指定索引元素的功能

相關推薦

python列表操作以及使用列表實現佇列

>>> a = [1, 2, 3, 4, 5, 6]>>> a.append(45)>>> a[1, 2, 3, 4, 5, 6,45]首先我們建立了一個列表 a。然後呼叫列表的方法 a.append(45) 新增元素 4

python列表練習-用python實現佇列

1.棧的工作原理:先進後出 入棧 出棧 棧頂元素 棧的長度 棧是否為空 stack = [] info = """ 棧操作 1.入棧 2.出棧 3.棧頂元素 4.棧的長度 5.棧是否為空 """ while True:

Python 如何用列表實現佇列

前面學習了列表的基礎知識,本著學以致用的原則,就想著如何通過列表來實現資料結構棧和佇列。 1.棧結構,其實就是一個後進先出的一個線性表,只能在棧頂壓入或彈出元素。用列表表示棧,則向棧中壓入元素,可以用列表的append()方法來實現,彈出棧頂元素可以用列表的pop()方法實

Python的連結串列之單向連結串列實現佇列

Python中除了列表,還有連結串列這樣的基礎資料結構,之前我們都是介紹用列表實現棧、佇列這樣的資料結構的,接下來我們看一下用連結串列實現的棧和佇列。 既然列表已經可以實現棧和隊列了,那麼連結串列又有什麼存在的意義呢?當然是因為列表有一些明細的缺點: 記憶體的

python_用列表實現佇列

棧 棧的結構: 棧是先進後出(LIFO-first in last out); 類似於往箱子裡面放書; 程式碼實現如下: (實際應用中這樣太麻煩,將來會用類實現) 佇列 佇列結構: 佇列是

C語言實現佇列(佇列的基本操作)

棧: 棧:棧(stack)又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。 特點:先進後出 stack.h #pragma once #include <stdio.h> #include <

python實現佇列

利用python列表的操作,利用選單的形式實現棧和佇列 棧: stack=[] def push(): stack.append(input('enter: ').strip()) def

js 實現佇列

js實現棧或者佇列有兩種方式: 1.陣列:陣列本身提供棧方法(push,pop),佇列方法(push,shift)。 程式碼實現(棧): /*=======棧結構=======*/ var stack=function(){ this.data=[] this.push=push

Java實現佇列

棧:LIFO(後進先出) 佇列:FIFO(先進先出) 棧的順序儲存結構實現: /** * 基於陣列實現的順序棧 * @param <E> */ public class Stack<E> { private Object[]

C++實現佇列(Linux環境)

Stack.h #pragma once #include<iostream> using namespace std; #include<assert.h> //靜態棧 te

利用容器介面卡實現佇列

利用模板實現分別實現一個順序表和連結串列,再用著兩個順序錶鏈表來實現棧和佇列的容器介面卡 stack.h #pragma once #include"Seqlist.h" #include"list.h" //使用容器介面卡實現棧 template<class

資料結構演算法程式碼實現——佇列(一)

棧和佇列 棧和佇列是一種特殊的線性表。 從資料結構角度看:棧和佇列也是線性表,其特點性在於棧和佇列的基本操作是線性表操作的子集。它們是操作受限的線性表。 從資料型別角度看:它們是和線性表不相同的兩類重要的抽象資料型別。 棧的定義 棧(Stack)是限

佇列(用C++實現佇列

棧是一種後進先出的線型結構,C++實現棧的程式碼如下: #include <iostream> using namespace std; #define MAXLEN 50 typede

連結串列實現佇列的方法

介面的實現方法如下public class LinkedQueue implements Serializable,QueueInterface { //佇列前端的節點 private Node firstNode; //對列後端的節點 private Node lastNode; //構造方法初始

Python 如何用列表實現隊列?

pen 彈出 module trace 執行 方法 ace 元素 異常 1.棧結構,其實就是一個後進先出的一個線性表,只能在棧頂壓入或彈出元素。用列表表示棧,則向棧中壓入元素,可以用列表的append()方法來實現,彈出棧頂元素可以用列表的pop()方法實現。 1 &g

Python列表實現佇列(二)

用列表實現佇列        佇列和棧實現的功能差不多,無非是入佇列,出佇列,佇列長度等等。其中,入佇列可以用列表的append()來實現,出佇列可以使用pop(0)來實現。由於這個實現方法比較簡單,因此它也是最低效的。append方法入佇列和棧實

Python列表實現佇列(一)

用列表實現棧 棧方法 列表實現 S.push() L.append() S.pop() L.pop() S.top()

Python列表作為佇列 Collections的各種方法

Collections中的各種方法 閱讀目錄(Content) 一、各種方法介紹 二、程式碼部分 回到頂部(go to top) 一、各種方法介紹 Counter    統計個數   elements&n

python 字符 字典 列表之間的轉換

png 列表 如果 asdasd 技術分享 com asd bsp 例如 1 字典 轉 字符 定義一個字典:dict = {‘name‘: ‘python‘, ‘age‘: 7}字典轉字符 可以使用str強制轉換 如: str(dict) 此時dict的類型就是字符型了

Python元祖,列表,字典的區別

執行 ear 序列 not auth 標記 ron pytho tro Python中有3種內建的數據結構:列表、元祖和字典: 1.列表   list是處理一組有序項目的數據結構,即你可以在一個列表中存儲一個序列的項目。   列表中的項目應該包括在方括號中,這樣P