python各個模組

2021-10-05 04:39:39 字數 1945 閱讀 1737

os.listdir(path=』.』)

以list形式返回路徑下的所有檔名,傳入path時要注意一點,路徑中的反斜線最好使用兩個,使用乙個反斜線加字母容易產生反義歧義

執行結果:

注意這個list是無序的

python os官方文件

sort():

該函式可以給陣列,鍊錶list或者向量排序,用法:

sort(first_pointer,first_pointer+n,cmp)

cmp:可以不填,預設按陣列公升序排列,也可以定義排序函式,改排序方式為降序

實現原理:sort不是簡單的快速排序,它對普通的快速排序進行了優化,此外,它還結合了插入排序和堆排序。系統會根據你的資料形式和資料量自動選擇合適的排序方法,這並不是說它每次排序只選擇一種方法,它是在一次完整排序中不同的情況選用不同方法,比如給乙個資料量較大的陣列排序,開始採用快速排序,分段遞迴,分段之後每一段的資料量達到乙個較小值後它就不繼續往下遞迴,而是選擇插入排序,如果遞迴的太深,演算法會選擇堆排序。

#include#include#includeusing namespace std;

int main();

sort(test.begin(),test.end());

for(int i=0;i預設排序是從小到大,可以定義cmp函式使得排序變為從大到小:

#include#include#includeusing namespace std;

bool cmp(int a,int b)

int main();

sort(test.begin(),test.end(),cmp);

for(int i=0;i參考:

copy()和deepcopy():

copy只拷貝父物件,不會拷貝物件內部的子物件(例如list內巢狀的list)

deepcopy會拷貝父物件及其子物件

import copy

a=[1,2,[1,2]]

b=copy.copy(a)

c=copy.deepcopy(a)

print(a)

print(b)

print(c)

輸出結果:

[1, 2, [1, 2, 3], 3]

[1, 2, [1, 2, 3]]

[1, 2, [1, 2]]

import copy

a=[1,2,[1,2]]

b=copy.copy(a)

c=copy.deepcopy(a)

print(id(a))

print(id(b))

print(id(c))

print(id(a[2]))

print(id(b[2]))

print(id(c[2]))

輸出:2311110878600

2311111048264

2311111048328

2311110991560

2311110991560

2311111048008

可以看出list中巢狀的list在copy後新的變數b中記憶體位址不變,而在deepcopy後新的變數c中記憶體位址改變。

注意copy或者deepcopy對不可變物件(數字或者元組等)使用時並不會建立新的記憶體位址,而是和賦值類似,將兩者指向同一塊記憶體位址。

參考:

python中的各個模組

collection模組 python中的擴充套件資料模組 namedtuple 生成可以使用名字來訪問元素內容的tuple from collections import namedtuple point namedtuple point x y 必須起名字 point p point 1,2 p...

各個網路模組

強聯網 必須輸入使用者名稱和密碼等伺服器確認,才可以進入遊戲。面板操作登陸 loginctrl.instance.login mloginaccountinput.value,mloginpassinput.value 驗證登入名和登入密碼control控制 下面的方法會在update中執行 登陸錯...

OpenCV各個模組介紹

對於初學opencv的我來說,最頭疼和無法下手的就是,都有什麼庫,那些庫都是幹什麼的,怎麼用,我想很多人應該和我一樣,我覺得最重要的就是需要先知道opencv有哪些庫,都是幹什麼的。在我們安裝opencv的位址下,可以看到opencv2中包含以下庫檔案,下面就是opencv的所有模組介紹,按照順序來...