我編寫了一個(gè)代碼,在每一輪中生成大量數(shù)據(jù)。所以,我只需要存儲(chǔ)最后 10 輪的數(shù)據(jù)。當(dāng)我添加需要的對(duì)象(覆蓋)時(shí),如何創(chuàng)建一個(gè)擦除最舊對(duì)象的數(shù)據(jù)框?觀察的順序——從舊到新——應(yīng)該保持不變。是否有任何簡(jiǎn)單的函數(shù)或數(shù)據(jù)格式可以做到這一點(diǎn)?
1 回答
Smart貓小萌
TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
你可以使用這個(gè)功能:
def ins(arr, item):
if len(arr) < 10:
arr.insert(0, item)
else:
arr.pop()
arr.insert(0, item)
ex = [1, 2, 3, 4, 5, 6, 7, 8, 9]
ins(ex, 'a')
print(ex)
# ['a', 1, 2, 3, 4, 5, 6, 7, 8, 9]
ins(ex, 'b')
print(ex)
# ['b', 'a', 1, 2, 3, 4, 5, 6, 7, 8]
為了使其工作,您必須將列表作為參數(shù)傳遞給函數(shù)ins(),以便插入新項(xiàng)目并刪除第 10 個(gè)(如果有的話)。
(我認(rèn)為這個(gè)問(wèn)題不是特定于熊貓的,而是一種在數(shù)組中存儲(chǔ)最大數(shù)量項(xiàng)目的方法)
添加回答
舉報(bào)
0/150
提交
取消
