2020-01-14學習
相信不少初學小夥伴都會遇到二維列表求解全部元素之和問題,下面給出兩種兩種常見的求和方法。測試
思想:遍歷整個二維列表元素,而後將全部元素加起來spa
1 def Sum_matrix(matrix): 2 sum=0 3 for i in range(len(matrix)): 4 for j in range(len(matrix[i])): 5 sum+=matrix[i][j] 6 return sum 7 8 9 #測試 10 matrix=[[1, 2, 3], [4, 5, 6, 4], [7, 8, 9]] 11 Sum_matrix(matrix) #49 12 13 a=[[22,4,5],[3],[5,5,82,4,7]] 14 Sum_matrix(a) #137
說明:上述方法能夠求解常見二維列表全部元素之和,不受列表各行長度影響code
思想:採用列表句柄(在一篇博客看到這樣稱呼)來求解,思想仍是將全部元素加起來,但實現方法與方法1稍微有點不一樣blog
1 def Sum_matrix(matrix): 2 sum=0 3 for i in matrix: 4 for j in i: 5 sum+=j 6 return sum 7 8 #測試 9 matrix=[[1, 2, 3], [4, 5, 6, 4], [7, 8, 9]] 10 Sum_matrix(matrix) #49 11 12 a=[[22,4,5],[3],[5,5,82,4,7]] 13 Sum_matrix(a) #137
說明:能夠看到,方法2實現方式更簡單,更靈活。與方法1相比,在方法2中,遍歷時的 i 表明二維列表的一整行,j表示一行中各個元素,而方法1中遍歷時的 i 和 j 用來表示元素位置。一樣方法2不受列表各行長度影響。博客
關於i和j 用來表示各個元素值,可看下面例子class
matrix=[[1, 2, 3], [4, 5, 6, 4], [7, 8, 9]] >>> for i in matrix: print(i) for j in i: print(j) #輸出 [1, 2, 3] #i=0,matrix第一行matrix[0] 1 2 3 [4, 5, 6, 4]#i=1,matrix第二matrix[1] 4 5 6 4 [7, 8, 9] #i=2,matrix第三行matrix[2] 7 8 9
應該很清晰了吧!遍歷
總結:以上兩種方法相信在實際操做中均會採用,方法1採用元素下表形式來訪問元素,方法2採用二維列表句柄形式訪問,簡單靈活。兩種方法相對都較容易,但願小夥伴們都能掌握,也歡迎你們一塊留言討論學習方法