少說話多寫程式碼之Python學習060——標準模組(雙端佇列)
雙端佇列可以從佇列的兩端加入和刪除元素。比如,在需要按照元素增加的順序來移除元素時非常有用。
看下面的使用,
先產生一個雙端佇列。
from collections import deque
q = deque(range(5));
print(q)
輸出
deque([0, 1, 2, 3, 4])
q.append(99)
q.appendleft(999)
print(q)
輸出
deque([999, 0, 1, 2, 3, 4, 99])
前後增加了999和99
print(q.pop())
print(q.popleft())
輸出
99
999
彈出前後的元素。
rotate用於旋轉。將元素左移或者右移,使頭尾相連。
q.rotate(3)
print(q)
輸出
deque([2, 3, 4, 0, 1])
如上為左移三位。
q.rotate(-1)
print(q)
輸出
deque([3, 4, 0, 1, 2])
這裡是右移1位。
工程檔案下載:https://download.csdn.net/download/yysyangyangyangshan/10846771
相關推薦
少說話多寫程式碼之Python學習060——標準模組(雙端佇列)
雙端佇列可以從佇列的兩端加入和刪除元素。比如,在需要按照元素增加的順序來移除元素時非常有用。 看下面的使用, 先產生一個雙端佇列。 from collections import deque q = deque(range(5)); print(q) 輸出 deque([0, 1, 2,
少說話多寫程式碼之Python學習064——標準模組(正則表示式)
Python中re模組包含的是對正則表示式的支援。正則表示式是一個很有趣,對處理字串作用比較大,我們可以花一點時間瞭解一下。 正則表示式是可以匹配文字片段的一組規則。最簡單的正則表示式就是一個字串,能匹配自身。比如字串a='迢遞嵩高下,歸來且閉關',可以匹配字串b='迢遞嵩高下,歸來且閉關'。
少說話多寫程式碼之Python學習056——標準模組(自定義模組)
我們前面知道了如何匯入外部模組,比如常用的math模組, import math print(math.sin(90)) 輸出 0.8939966636005579 我們也可以自己定義一個模組,比如我的程式都在這個目錄下, 圖1 然後在當前目錄下,再建立一個MyFirstLi
少說話多寫程式碼之Python學習059——標準模組(堆)
heap堆是一種優先佇列,用優先佇列可以以任意順序增加物件。並且在任何時間找到最小元素。Python中有一個包含一些堆操作函式的模組heapq。包括如下函式, heappush(heap,x) 將x入堆 heappop(heap) 將堆中最小的元素彈出 heapify(heap) 將heap屬性
少說話多寫程式碼之Python學習058——標準模組(集合)
來看看集合(set)的使用。集合類set在sets模組中,Python2.3之後,集合類已經成為語言的一部分,無需再匯入sets模組。 先看看簡單的使用, print(set(range(10))) 輸出 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 集合中重複值是被忽略
少說話多寫程式碼之Python學習057——標準模組(看看一些系統模組)
Python語言中有很多系統的模組,我們簡單看幾個,方便以後自己引用系統模組。一下這些系統模組僅做了解即可。 1、sys sys模組能夠訪問Python直譯器有關的一些函式和變數, argv 命令列引數 exit([arg]) 退出當前程式 modules 對映模組名
少說話多寫程式碼之Python學習061——標準模組(time模組)
日期模組主要是處理日期的,可以實現獲取當前時間、操作時間和日期、將字串格式化為日期以及將日期格式化為字串。 主要函式有, asctime 將時間元組轉換為字元 localtime 將秒數轉換為日期元組, mktime 將時間元組轉換為本地時間 sleep 休眠 strptime 將字串解析為時間
少說話多寫程式碼之Python學習062——標準模組(random模組)
random主要是產生隨機數。不過實際上,不論哪種語言中所謂的隨機數,其實都不是真正意義的隨機數。random中的SystemRandom可以讓資料接近真正的隨機數。 我們通過下面的例子來看看隨機數的使用。 我們在一段時間內產生隨機時間。 from random import * from
少說話多寫程式碼之Python學習063——標準模組(shelve模組)
如果我們只需要存少量的資料,一個簡單的儲存方案是使用shelve模版。我們只需要給他提供一個指定路徑的檔名。shelve呼叫過程是, 先呼叫open函式,引數為檔名。返回值是一個shell物件。這個物件可以用來儲存資料,可以作為一個字典來操作,但是鍵一定是字串型別的。操作完成後呼叫close函式
少說話多寫程式碼之Python學習065——標準模組(re模組)
Python的re模組主要是正則表示式的操作函式。我們看看主要的幾個函式。 首先我們要引入re模組。 import re compile將包含正則表示式字串建立為物件。 search在目標字串中按照給定的正則表示式匹配結果 match在字串的開始處匹配指定正則表示式 split根據正則表
少說話多寫程式碼之Python學習039——類01(如何定義類 )
在我們使用的面嚮物件語言中,類是一個基礎單元;一個超級程式工程,其基本組成也是類。Python中如何定義一個類,我們來看看, class Person: def setName(self,name): self
少說話多寫程式碼之Python學習041——類03(類名稱空間 )
先看兩個函式,實現一個數的平方。 def squarter(x): return x*x squarter2 = lambda x: x*x print(squarter(9)) print(squarter2(8)) 輸出 8
少說話多寫程式碼之Python學習043——類05(檢查繼承關係)
Python中還可以檢查類的繼承的關係。 比如,如下兩個類,PrimaryBaLinghouStudent繼承了BaLinghouStudent。 class BaLinghouStudent: name='學生' school='學校
少說話多寫程式碼之Python學習041——類03(類名稱空間 ).txt
先看兩個函式,實現一個數的平方。 def squarter(x): return x*x squarter2 = lambda x: x*x print(squarter(9)) pr
少說話多寫程式碼之Python學習021——匯入模組
從其他模組匯入函式時,通常我們使用 import 模組, 或者 from 模組 import 函式 如果匯入指定的幾個函式,可以這樣 from 模組 import 函式1,函式2,函式3 或者 from 模組 import * 最後一種表示從某模組中匯入所有函式。 對於匯入的模組和函式,我們
少說話多寫程式碼之Python學習040——類02(類的函式和方法 )
在類裡定義函式時的self引數,其實是方法和函式的區別。在類裡定義方法時,一般都在方法里加一個預設的引數,可以是,a,c,d的。但是約定俗成就統一叫self。self表示的是 這個類的當前例項,一個類有多個例項,那麼它屬於自己所屬於的例項,不會存在例項寧缺的self會指向例項陳皮皮。 這裡比價特
少說話多寫程式碼之Python學習042——類04(超類 )
來看看Python中類的繼承。被繼承的類稱作超類。 先看一個類,定義了一個Student類,有兩個屬性和三個方法。 class Student: name='學生' school='學校' def init(
少說話多寫程式碼之Python學習045——類07(異常)
異常是程式遇到錯誤了,這種錯誤有的是已知的,可預判的。有些是未知的,莫名其妙的。 比如, s=1/0 print(s) 輸出 Traceback (most recent call last): File "D:/work/Python/Class7.py", line
少說話多寫程式碼之Python學習044——類06(多繼承)
關於繼承最麻煩的就是多繼承,而Python是支援多繼承的。也就是說一個子類可能有兩個以上的父類。 比如,如下程式碼,子類繼承了兩個類,父類的方法在子類中都可以呼叫。 class Programer: language='二進位制' de
少說話多寫程式碼之Python學習034——其他語句01(pass,del)
pass語句 pass就是什麼都不做,和C#中的一個分號語句很像。 一般用作佔位符,比如,這種情況,就是什麼都不處理。 name=input('請輸入姓名') if len(name)<3: print('做什麼') elif len(name)==3: &