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