python二維列表求解所有元素之和

来源:https://www.cnblogs.com/rounie/archive/2020/01/14/12194212.html
-Advertisement-
Play Games

2020-01-14 相信很多初學小伙伴都會遇到二維列表求解所有元素之和問題,下麵給出兩種兩種常見的求和方法。 方法1: 思想:遍歷整個二維列表元素,然後將所有元素加起來 1 def Sum_matrix(matrix): 2 sum=0 3 for i in range(len(matrix)): ...


2020-01-14

相信很多初學小伙伴都會遇到二維列表求解所有元素之和問題,下麵給出兩種兩種常見的求和方法。

方法1:

思想:遍歷整個二維列表元素,然後將所有元素加起來

 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

說明上述方法可以求解常見二維列表所有元素之和,不受列表各行長度影響

方法2

思想:採用列表句柄(在一篇博客看到這樣稱呼)來求解,思想還是將所有元素加起來,但實現方法與方法1稍微有點不同

 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 用來表示各個元素值,可看下麵例子

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採用二維列表句柄形式訪問,簡單靈活。兩種方法相對都較容易,希望小伙伴們都能掌握,也歡迎大家一塊留言討論學習


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.前言 我們經常使用 cron 表達式來定義定時任務的執行策略,今天我們就總結一下 cron 表達式的一些相關知識。 2. cron 表達式的定義 cron 表達式是一個字元串,該字元串由 個空格分為 個域,每一個域代表一個時間含義。 格式如下: 通常定義 “年” 的部分可以省略,實際常用的由 前 ...
  • 前段時間參加了IAS2019(互聯網架構峰會),本次峰會以中台為主題,所以又稱中台戰略大會,據說是全國首屆關於中台戰略的會議,會議上有許多優秀的企業架構師帶來了他們各自在實踐中台過程中的心得。本文就筆者對自己參與的會場的情況做一些分享,同時也寫寫自己參會以及查閱相關資料後關於中台這一概念的理解和體會 ...
  • 微服務可以幫我們成就更大的夢想,為什麼呢?請看老兵哥近些年推廣微服務架構過程中收穫的心得體會! ...
  • 一、資料庫中時間類型 1.三種時間類型:DateTimeField、DataField、TimeField三種類型;在使用之前需先導入import django.utils.timezone包 2.該三種類型分別對應這Datetime、Data、Time三種對象; 3.時間類型,三個屬性,auto_ ...
  • 一、定義 是`JDK ThreadLocal`意思就是本地線程的意思。 1.1 是什麼? 要想知道他是個啥,我們看看 的源碼(基於 )中對這個類的介紹: 大致能夠總結出: 1. 可以給我們提供一個線程內的局部變數,而且這個變數與一般的變數還不同,它是每個線程獨有的,與其他線程互不幹擾的; 1. 與普 ...
  • 寫在前面 考研在即,想多瞭解考研er的想法,就是去找學長學姐或者去網上搜索,貼吧就是一個好地方。而藉助強大的工具可以快速從網路魚龍混雜的信息中得到有價值的信息。雖然網上有很多爬取百度貼吧的教程和例子,但是貼吧規則更新快,目的不一樣,爬取的內容也不一樣,所以就有了這個工具。 目的 爬取1000條帖子→ ...
  • 前言: 事務處理的本質 在學習事務處理前,需要明確一點: 資料庫操作最終都要使用到JDBC,那麼無論上層如何封裝,底層都是調用Connection的commit,rollback來完成 煩人的事務處理: 在日常開發中,數據訪問層(DAO)必然需要進行事務的處理,但是我們會發現,事務處理的代碼通常是簡 ...
  • Java操作Jxl實現.xsl及.xsls兩種數據表格進行批量導入數據到SQL server資料庫。 本文實現背景Web項目:前臺用的框架是Easyui+Bootstrap結合使用,需要引入相應的Js、Css文件。頁面:Jsp、攔截請求:Servlet、邏輯處理:ClassBean、資料庫:SQLs ...
一周排行
    -Advertisement-
    Play Games
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...