解決Python二維數(shù)組賦值問題
當(dāng)我們采用s=[[0]*3]*2初始化一個數(shù)組,然后對s[0][0]進(jìn)行賦值,改變的是第一列所有的值。因為用s = [[0]*3]*2 初始化數(shù)組,他表示的是指向這個列表的引用,所以當(dāng)你修改一個值的時候,整個列表都會修改。
換一種初始化方式,就可以解決這個問題:
寫這個主要是因為今天在寫【機器人的運動范圍問題】:
地上有一個m行和n列的方格。一個機器人從坐標(biāo)0,0的格子開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進(jìn)入行坐標(biāo)和列坐標(biāo)的數(shù)位之和大于k的格子。 例如,當(dāng)k為18時,機器人能夠進(jìn)入方格(35,37),因為3+5+3+7 = 18。但是,它不能進(jìn)入方格(35,38),因為3+5+3+8 = 19。請問該機器人能夠達(dá)到多少個格子?
因為方格初始化問題導(dǎo)致bug,而浪費了很多時間。
以上這篇解決Python二維數(shù)組賦值問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中轉(zhuǎn)換角度為弧度的radians()方法
這篇文章主要介紹了Python中轉(zhuǎn)換角度為弧度的radians()方法,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下2015-05-05Python attrs提高面向?qū)ο缶幊绦试敿?xì)
Python是面向?qū)ο蟮恼Z言,一般情況下使用面向?qū)ο缶幊虝沟瞄_發(fā)效率更高,軟件質(zhì)量更好,并且代碼更易于擴展,可讀性和可維護(hù)性也更高,但是Python的類寫起來是真的累,這是可以在創(chuàng)建類的時候自動添加上attrs模塊,下面文章我們就來介紹這個東西,需要的朋友可參考一下2021-09-09Python編寫Windows Service服務(wù)程序
這篇文章主要為大家詳細(xì)介紹了Python編寫Windows Service服務(wù)程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01