」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 哪一種 Pythonic 方式連接清單:\'extend()\' 或 \'+=\'?

哪一種 Pythonic 方式連接清單:\'extend()\' 或 \'+=\'?

發佈於2024-11-11
瀏覽:861

Which is the Pythonic Way to Concatenate Lists: \'extend()\' or \' =\'?

連接清單:' ' 與'extend()'

在Python 中使用清單時,您可能會遇到兩種常見的方法連接(組合)它們:extend() 方法和plus ( ) 運算子。本文探討了它們的差異,並深入介紹了執行清單連接的「Pythonic」方式。

'extend()' 方法

extend() 方法可讓您將另一個清單的元素追加到原始清單中。它不會修改原始列表,但傳回 None。

a = [1, 2]
b = [2, 3]
b.extend(a)

執行此操作後,b 將包含a 和b 的元素: [2, 3, 1, 2].

' =' 運算符

= 運算子在清單上執行就地新增。它直接修改原始清單並將另一個清單的元素附加到它。

b  = a

這裡,b還將​​包含組合元素:[2, 3, 1, 2].

哪個是Pythonic?

這兩種方法都被認為是「Pythonic」並且有自己的用途。然而,加號 ( ) 運算子通常是首選,因為它為清單連接提供了更簡潔和一致的語法。它在字節碼層級上也稍微快一些,因為它避免了與extend()相關的函數呼叫。

執行差異

兩種方法之間唯一顯著的區別正在他們的執行中。 extend() 涉及函數調用,這在 Python 中比 = 運算子執行的就地加法稍微昂貴一些。

結論

當串聯清單時Python 中,「 」運算子是首選的「Pythonic」方法。雖然extend()在某些情況下可能很有用,但=運算子提供了簡潔的語法、就地修改和稍快的執行速度。然而,除非過度執行清單串聯,否則效能最佳化不應成為一個重要問題。

最新教學 更多>
  • 在具有共享字段的結構上實現相同的方法時如何避免程式碼重複?
    在具有共享字段的結構上實現相同的方法時如何避免程式碼重複?
    在具有相同字段的結構體中使用通用函數的最佳實踐在兩個結構體擁有相同字段的情況下,最好防止定義對這些欄位進行操作的方法時會出現程式碼重複。 自訂類型作為方法接收器建議的方法是引入一個自訂類型(例如,Version)來服務作為方法接收者。由於所有自訂類型都可以用作方法接收器,因此此技術可以建立可應用於多...
    程式設計 發佈於2024-11-19
  • 如何在 Go 的 VSCode 調試模式下查看完整變數值?
    如何在 Go 的 VSCode 調試模式下查看完整變數值?
    揭開VSCode 調試模式中的隱藏值在深入研究Go 中調試的複雜性時,您可能會遇到長的令人沮喪的截斷變數值。令人惱火的“... # more”後綴掩蓋了這些值的全部範圍,讓您對它們的真實本質一無所知。 不用擔心,因為有一個隱藏的補救措施可以解決這個困境!關鍵在於透過 VSCode 中的「settin...
    程式設計 發佈於2024-11-19
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-19
  • 為什麼我的 PHP 腳本會在 Gmail 中傳送帶有「noname」附件的空白 HTML 電子郵件?
    為什麼我的 PHP 腳本會在 Gmail 中傳送帶有「noname」附件的空白 HTML 電子郵件?
    使用PHP 發送HTML 電子郵件:解決空白電子郵件和附件問題您遇到的問題是PHP 腳本發送帶有空“的空白HTML 電子郵件Gmail 中的「noname」附件。方案是使用PHPMailer 類別。 PHPMailer 的好處: 簡化的HTML 電子郵件發送: PHPMailer 提供了一個用戶友好...
    程式設計 發佈於2024-11-19
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-11-19
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-19
  • PHP5 中的內聯字串和連接之間有顯著的效能差異嗎?
    PHP5 中的內聯字串和連接之間有顯著的效能差異嗎?
    效能比較:PHP5 中的內聯字串與連線在PHP5 處理文字資料時,開發人員可以選擇使用內聯字串(例如,「這些是一些單字」)或執行串聯操作(例如,「這些是」.$foo)。這就提出了一個問題:這些方法之間是否存在顯著的效能差異。 內聯字串與大括號封閉變數在PHP5 的上下文中,有使用內聯字串(情況1)和...
    程式設計 發佈於2024-11-19
  • 儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    解決PHP 中的POST 請求故障在提供的程式碼片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"檢查$_POST數組:表單提交後使用var_dump檢查$_POST 陣列的內容。...
    程式設計 發佈於2024-11-19
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSocke...
    程式設計 發佈於2024-11-19
  • 我可以開車嗎?編寫酒精測試儀的程式碼
    我可以開車嗎?編寫酒精測試儀的程式碼
    在我居住的丹麥,不幸的是,我們在歐洲保持著一項記錄:我們的孩子是歐洲大陸飲酒最多的人。正因為如此,人們非常關注減少青少年飲酒並教育孩子們了解酒精的影響。 我為當地學校編寫了一個 HTML 和 JavaScript 酒精計算器,向學生展示酒精如何影響身體以及如何計算血液酒精含量 (BAC)。 ...
    程式設計 發佈於2024-11-18
  • 為什麼我的 Python MySQL 插入功能不起作用?
    為什麼我的 Python MySQL 插入功能不起作用?
    Python MySQL 插入不起作用在 Python 中,利用 MySQL API 連接到 MySQL 資料庫是一種流行的方法。但是,嘗試將記錄插入資料庫時可能會出現困難。 遇到的一個此類問題是無法插入記錄。經檢查,插入操作涉及的程式碼如下:db = MySQLdb.connect("l...
    程式設計 發佈於2024-11-18
  • 修正「無法在模組外部使用導入語句」錯誤
    修正「無法在模組外部使用導入語句」錯誤
    作为 JavaScript 和 TypeScript 开发人员,我们在使用不同的模块系统时经常会遇到意外的错误。一个常见问题是“无法在模块外部使用 import 语句”错误。它通常在使用现代 ES 模块 (ESM) 或处理涉及 Webpack、Babel 或 Node.js 环境等捆绑程序的设置时出...
    程式設計 發佈於2024-11-18
  • 如何從本機主機連線到 Docker MySQL 容器?
    如何從本機主機連線到 Docker MySQL 容器?
    從本地主機連接到Docker MySQL 容器要直接從主機與Docker 容器中運行的MySQL 實例進行交互,請按照以下步驟操作步驟:使用docker-compose up由於您已經在Docker 主機上發布了連接埠3306,因此您可以從主機本身連接到它:$> mysql -h 127.0....
    程式設計 發佈於2024-11-18
  • 如何在具有不同範本參數的範本類別中定義好友關係?
    如何在具有不同範本參數的範本類別中定義好友關係?
    深入研究類別範本與Template Class Friends 深入研究類別範本與Template Class Friends定義二元樹類別(BT)及其元素類別(BE)時,BT 存取BE私人會員需要建立好友關係。然而,理解正確定義關係的底層機制至關重要。 最初,您嘗試將好友關係宣告為 templat...
    程式設計 發佈於2024-11-18
  • ## 建立強大的 CMS 後端:OOP 和 MVC 結構如何增強專案管理?
    ## 建立強大的 CMS 後端:OOP 和 MVC 結構如何增強專案管理?
    PHP OOP 核心架構:為CMS 後端實現堅實的基礎了解物件導向程式設計(OOP) 在開發時至關重要可靠的CMS 後端框架。結構良好的框架應遵循 OOP 原則並採用 MVC 設計來提高效率。 管理單一專案頁面上的多個部分處理一個專案上的多個部分時專案頁面,考慮使用不同的方法來管理每個部分。例如,索...
    程式設計 發佈於2024-11-18

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3