我正在使用 defalutdict(代碼中的 ddtype)物件,它基本上作為一個三維函式作業,通過將每對自然元素映射到一個實數。
但是,如果我嘗試使用 matplotlib 列印具有某些特征的所有元素:
import matplotlib.pyplot as plt
from collections import defaultdict
ddtype = defaultdict(int, {(1,1):2.2,(1,2):0.7,(2,1):0.9,(2,2):1.3})
for i in range(1,3):
for j in range(1,3):
if (ddtype[i,j] > 1.5):
plt.plot((i,j),'k ')
plt.show()
# The plot is saved but not here
然后程式變得非常慢(對于大范圍的周期),即使我經常清除記憶體。是否有更有效的方法來撰寫上述回圈?先感謝您
uj5u.com熱心網友回復:
- 將過濾后的物品拆開
i并j放入單獨的容器中,然后進行繪圖。defaultdict單獨處理,然后只繪制一次,應該比多次訪問繪圖物件更快。
- 使用串列理解收集所需的元組:
[k for k, v in ddtype.items() if v > 1.5]
- 將元組解包到單獨的物件中:
i, j = zip(*[...])- 參考將
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/351755.html標籤:Python matplotlib 默认字典
上一篇:如何使用seaborn為分類資料繪制堆疊的100%條形圖
下一篇:Mac-如何安裝java17
