python3高效利用記憶體,提高訪問效率

2021-10-07 07:04:11 字數 935 閱讀 8839

本文介紹通過使用itertools工具包高效利用記憶體,提高訪問效率

通過兩個例子,直觀比較記憶體的使用情況:

通過sys.getsizeof函式檢視變數占用的記憶體大小

例子一

通過普通切片方法取list裡面的值

def

test_func1()

: value_list =

[i for i in

range(1

,100001)]

result = value_list[35:

60000:3

]print

('用常規方法切片:'

,len

(result)

, sys.getsizeof(result)

)輸出:用常規方法切片: 19989

159976

例子二

使用itertools工具包中的islice函式取list裡面的值

def

test_func2()

: value_list =

[i for i in

range(1

,100001)]

result = islice(value_list,35,

60000,3

)print

('用islice切片:'

,len

(list

(result)

), sys.getsizeof(result)

)輸出:用常規方法切片: 19989

80

通過上面兩個例子得出記憶體使用對比情況:159976/80 = 1999.7

,相差了2000倍,使用islice切片比直接使用list切片,能大幅減少記憶體使用。

利用Python3巢狀列印

巢狀列印小星星 完成5行內容的簡單輸出 分析每行內部的小星星如何處理 定義乙個行的計數器變數 row 1 迴圈while row 5 每一行列印的小星星和當前行數的行號是一致的 定義乙個列的計數器變數 col 1 增加乙個小迴圈,專門用來控制每一列的 星星 控制 while col row prin...

python3記憶體快取 python 3 x

我試圖通過telnet 使用控制台伺服器控制台 到cisco路由器,執行一些show命令,並將它們的輸出儲存在變數中。下面是簡單的指令碼的工作原理 在執行指令碼之前已經登入到路由器 在實際使用案例中不是很有用 import telnetlib import datetime import getpa...

python3 切片 python3 切片

取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...