最近用python寫(xiě)了許多代碼定拟,發(fā)現(xiàn)了許多容易犯錯(cuò)的問(wèn)題與比較好的操作尼啡。
二維列表不能按列引用琐凭,因?yàn)槊啃械拈L(zhǎng)度可能不相等芽隆。一定要按列用的話,可以用numpy轉(zhuǎn)換為矩陣统屈。
列表直接=賦值并不代表復(fù)制胚吁,修改其中一個(gè)列表,另一個(gè)的值也會(huì)跟著變化愁憔。正確的復(fù)制方法應(yīng)該是一維列表用.copy()腕扶,二維列表用copy.deepcopy()。
Pypy能夠極大地加速python代碼吨掌,但不支持numpy半抱、scipy等第三方庫(kù)。
字典操作很好用膜宋,按鍵查值速度很快:https://blog.csdn.net/yinlu521wang/article/details/99207182
注意.remove()函數(shù)一次只能刪除一個(gè)元素窿侈,如果要?jiǎng)h除多個(gè)重復(fù)元素需要多次用.remove(),而.index()返回下標(biāo)也是一樣秋茫,而且返回下標(biāo)后會(huì)刪除該元素史简。。肛著。
列表中+是一個(gè)連接符號(hào)圆兵,可以將多個(gè)列表合起來(lái)跺讯,是一個(gè)非常好的特性,方便改變列表大小殉农。與numpy矩陣的+對(duì)應(yīng)元素相加不一樣刀脏。
numpy.zeros((1, 3)),注意生成二維numpy矩陣時(shí)超凳,矩陣大小用元組表示愈污,所以有兩個(gè)括號(hào);生成一維矩陣用int型整數(shù)表示大小即可聪建,矩陣元素默認(rèn)為float型變量钙畔。
元組的值不能修改,只能引用金麸;列表和字典都可以修改擎析。
for循環(huán)除了常用的for i in range():,還可以用for i in List:實(shí)現(xiàn)對(duì)列表中元素的依次引用挥下。
代碼比較復(fù)雜時(shí)揍魂,一定要每個(gè)函數(shù)測(cè)試通過(guò),無(wú)錯(cuò)誤之后棚瘟,再整合到一起现斋。