解決Python二維數(shù)組賦值問題
當(dāng)我們采用s=[[0]*3]*2初始化一個數(shù)組,然后對s[0][0]進行賦值,改變的是第一列所有的值。因為用s = [[0]*3]*2 初始化數(shù)組,他表示的是指向這個列表的引用,所以當(dāng)你修改一個值的時候,整個列表都會修改。
換一種初始化方式,就可以解決這個問題:
寫這個主要是因為今天在寫【機器人的運動范圍問題】:
地上有一個m行和n列的方格。一個機器人從坐標(biāo)0,0的格子開始移動,每一次只能向左,右,上,下四個方向移動一格,但是不能進入行坐標(biāo)和列坐標(biāo)的數(shù)位之和大于k的格子。 例如,當(dāng)k為18時,機器人能夠進入方格(35,37),因為3+5+3+7 = 18。但是,它不能進入方格(35,38),因為3+5+3+8 = 19。請問該機器人能夠達到多少個格子?
因為方格初始化問題導(dǎo)致bug,而浪費了很多時間。
以上這篇解決Python二維數(shù)組賦值問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python中轉(zhuǎn)換角度為弧度的radians()方法
這篇文章主要介紹了Python中轉(zhuǎn)換角度為弧度的radians()方法,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下2015-05-05

Python編寫Windows Service服務(wù)程序