最近用python寫了許多代碼,發現了許多容易犯錯的問題與比較好的操作。
二維列表不能按列引用,因為每行的長度可能不相等。一定要按列用的話,可以用numpy轉換為矩陣。
列表直接=賦值并不代表復制,修改其中一個列表,另一個的值也會跟著變化。正確的復制方法應該是一維列表用.copy(),二維列表用copy.deepcopy()。
Pypy能夠極大地加速python代碼,但不支持numpy、scipy等第三方庫。
字典操作很好用,按鍵查值速度很快:https://blog.csdn.net/yinlu521wang/article/details/99207182
注意.remove()函數一次只能刪除一個元素,如果要刪除多個重復元素需要多次用.remove(),而.index()返回下標也是一樣,而且返回下標后會刪除該元素。。。
列表中+是一個連接符號,可以將多個列表合起來,是一個非常好的特性,方便改變列表大小。與numpy矩陣的+對應元素相加不一樣。
numpy.zeros((1, 3)),注意生成二維numpy矩陣時,矩陣大小用元組表示,所以有兩個括號;生成一維矩陣用int型整數表示大小即可,矩陣元素默認為float型變量。
元組的值不能修改,只能引用;列表和字典都可以修改。
for循環除了常用的for i in range():,還可以用for i in List:實現對列表中元素的依次引用。
代碼比較復雜時,一定要每個函數測試通過,無錯誤之后,再整合到一起。