亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大列表初始化無提示地失敗

大列表初始化無提示地失敗

蕪湖不蕪 2023-12-26 16:15:32
我正在嘗試初始化一個任意的長列表,但是我這樣做的方式卻默默地失敗了。代碼:a_long_list = [True] * (1000000011)我嘗試嘗試/捕獲異常但沒有成功。理想情況下,如果初始化成功就好了,但最重要的是檢測初始化是否失敗。環境:我使用的是 python 3.8.5,不幸的是 numpy 在這個環境中不可用我也嘗試了數組,但沒有成功(也默默地失敗了)。a_long_list = array.array('b', (1,)*1000000011)
查看完整描述

1 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

您嘗試使用的方法array.array是首先創建tuple與您的內存使用量相當的內存使用量list,因此峰值內存使用量仍然太高。array乘以由 Short 組成的Short tuple,而不是tuple

a_long_list = array.array('b', (1,)) * 1000000011

array.array然后將有效地生成更長的數組,完全使用內存高效的 C 級類型(每個元素僅占用一個字節,而不是指針,通常每個元素 4-8 個字節;如果您隨后開始分配范圍之外的值,則更多小int緩存),沒有您不使用的巨大臨時緩存。


查看完整回答
反對 回復 2023-12-26
  • 1 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號