使用for x in obj
表示法時,迭代一個凍結集使用的內存少於集?或者,當使用與一組相對的凍結集時,是否有內存優勢?在凍結集上迭代的內存差異vs集
1
A
回答
2
看着python2.7 source,空的凍結集是一個單身人士,並從現有的冰凍集製作一個凍結集只返回舊的參考。否則,由於frozenset_new
和set_new
通常最終以相同的參數呼叫make_new_set
,所以似乎沒有任何重要的存儲器的優點。
原因使用冷凍組而不是常規組是爲了獲得不變性的益處 - 例如,使用一個實例,因爲它是可破解的或者它是一個常量。
2
我懷疑在使用frozenset
而不是set
時會有顯着的(如果有的話)內存節省。使用frozenset
的原因是它是可散列的,因此您可以將其用作字典鍵(或另一個集的元素)。
相關問題
- 1. 在sequelize結果集內迭代
- 2. IEnumerable vs List迭代集合
- 3. 迭代器凍結
- 4. Scalikejdbc結果集迭代器
- 5. 迭代集合的子集
- 6. 迭代集合的子集
- 7. MySQL:兩個結果集的差異
- 8. Java:在修改集合的內容的同時迭代集合
- 9. 迭代套集
- 10. 迭代Sql.result集
- 11. pythonic可迭代的差異
- 12. MySQL - 迭代結果集中的列
- 13. 的Java迭代在鍵集
- 14. 差異數據集
- 15. 差異性集合
- 16. 迭代一個named_scope內的has_many收集
- 17. 在主幹集合上迭代
- 18. jQuery在keyup後迭代時凍結()
- 19. Parallel.ForEach在最終迭代期間凍結
- 20. 分組集的差異
- 21. 對鍵集進行迭代和對條目集的迭代
- 22. cx_Oracle:如何迭代結果集?
- 23. 如何迭代MySQL結果集?
- 24. 使用迭代器遍歷結果集?
- 25. 迭代sequelize查詢結果集(Hapijs)
- 26. 需要循環或迭代結果集
- 27. 用於迭代集合子集的數據結構
- 28. 集合上的同步迭代如何失敗併發異常
- 29. 在mule中迭代集合
- 30. 記錄集迭代