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

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

a 列表的大小如何大于生成該列表元素的生成器?

a 列表的大小如何大于生成該列表元素的生成器?

猛跑小豬 2023-08-22 16:05:12
我想知道返回哪個更好:元素列表或生成該列表中每個元素的生成器。檢查了每個發電機的尺寸后,發現發電機要小得多。from sys import getsizeofmy_list = [i for i in range(100)]my_gen = (i for i in my_list)print(getsizeof(my_list))  # prints "452"print(getsizeof(my_gen))  # prints "56"生成器如何占用如此少的內存?
查看完整描述

2 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

生成器的大小不受列表大小的影響。


from sys import getsizeof


short_list = [i for i in range(10)]

long_list = [i for i in range(100)]

print(getsizeof(short_list))? # prints '92'

print(getsizeof(long_list))? # prints '452'


gen_short_list = (i for i in short_list)

gen_long_list = (i for i in long_list)

print(getsizeof(gen_short_list))? # prints '56'

print(getsizeof(gen_long_list))? # prints '56'

除此之外,返回對象的大小并不重要。那么,我們開始吧。


查看完整回答
反對 回復 2023-08-22
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

檢查生成器文檔。這是一種動態生產物品的模式。在Python中使用關鍵字yieldandyield from可以很好地處理無限數據結構,特別是因為生成器的構造。



查看完整回答
反對 回復 2023-08-22
  • 2 回答
  • 0 關注
  • 1650 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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