」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在Python中過濾包含特定子字串的字串清單?

如何在Python中過濾包含特定子字串的字串清單?

發佈於2024-11-03
瀏覽:444

How to Filter a List of Strings Containing a Specific Substring in Python?

根據內容過濾字串列表

給定一個字串列表,您可能需要只提取包含以下內容的字串特定的子字串。在 Python 中,有多種有效的方法來執行此過濾操作。

使用列表推導式

最簡單且最推薦的方法之一是利用 Python 強大的列表推導式。清單推導式提供了一種簡潔而富有表現力的方式來基於現有清單的元素建立新清單。對於過濾包含 'ab' 的字串的特定要求,您可以使用以下理解:

lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]

此推導式迭代原始列表中的每個字串('a', 'ab', 'abc', 'bac')並檢查如果它包含子字串“ab”。如果為 true,則會將該字串新增至結果清單。這將為您提供所需的過濾器清單: ['ab', 'abc'].

使用過濾器函數

在Python中過濾字串的另一種方法是使用過濾功能。該函數接受一個過濾函數和一個可迭代物件作為參數,並傳回一個迭代器,該迭代器產生滿足過濾函數的可迭代物件的元素。在您的情況下,您可以如下使用過濾器:

lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))

filter 函數採用匿名函數(lambda 函數)作為其第一個參數,該函數檢查輸入中是否存在'ab'細繩。第二個參數是原始列表。過濾器的結果是一個迭代器,然後使用 list() 將其轉換為列表。同樣,這會產生所需的 ['ab', 'abc'] 清單。

雖然列表推導式和過濾器函數都可以實現所需的過濾,但列表推導式通常因其簡潔性和可讀性而受到青睞,尤其是對於像這樣的簡單過濾任務。

版本聲明 本文轉載於:1729375938如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • 如何在 Go 中解密 AES ECB 模式加密?
    如何在 Go 中解密 AES ECB 模式加密?
    Go 中的AES ECB 加密Go 中的AES ECB 加密package main import ( "crypto/aes" "fmt" ) func decryptAes128Ecb(data, key []byte) []byte { ...
    程式設計 發佈於2024-11-08
  • 在 GitHub-echo 中實現 TOML 配置支持
    在 GitHub-echo 中實現 TOML 配置支持
    介绍 最近,我有机会通过添加对 TOML 配置文件的支持来增强 github-echo 命令行工具。此功能允许用户在 .github-echo-config.toml 文件中设置持久默认选项,从而减少每次使用该工具时手动输入重复配置的需要。在这篇文章中,我将向您介绍我在该功能上的经...
    程式設計 發佈於2024-11-08
  • 如何使用 SimpleXML 和 DOMDocument 刪除 XPath 節點?
    如何使用 SimpleXML 和 DOMDocument 刪除 XPath 節點?
    SimpleXML:刪除XPath 節點在本文中,我們將探討如何使用以下方法有效地從XML 文件中刪除父節點: SimpleXML 和XPath。 了解 SimpleXML限制提供的程式碼嘗試使用 SimpleXML 在透過 XPath 找到父節點後刪除它。然而,SimpleXML 的 unset(...
    程式設計 發佈於2024-11-08
  • 建立一個 React Hook 以任意角度旋轉影像
    建立一個 React Hook 以任意角度旋轉影像
    在Web開發中,您可能需要旋轉影像,這在CSS中很容易做到。像這樣的簡單程式碼變換:rotate(90deg);。但是如果我們想用 JS 來做呢? TLDR 將圖像繪製到瀏覽器環境中的畫布上並旋轉它。但在此之前,我們需要做一些數學運算來保持原始影像的長寬比。 核 ...
    程式設計 發佈於2024-11-08
  • Lithe 中間件:它是如何運作的以及如何創建自己的中間件
    Lithe 中間件:它是如何運作的以及如何創建自己的中間件
    中间件提供了一种方便的机制来检查和过滤进入应用程序的 HTTP 请求。 例如,Lithe 包含检查用户是否经过身份验证的中间件。如果没有,中间件会将用户重定向到登录屏幕。如果用户通过身份验证,中间件将允许请求继续。 中间件如何在 Lithe 中工作 在 Lithe 中,中间件是能够访...
    程式設計 發佈於2024-11-08
  • 如何在 JavaScript 中建立具有重複元素的陣列?
    如何在 JavaScript 中建立具有重複元素的陣列?
    JavaScript 中重複元素的數組創建具有多次重複的相同元素的數組在各種編程場景中至關重要。在 Python 中,這可以透過列表乘法來實現,如 [2] * 5 所示。但是,此功能在 JavaScript 陣列中不能直接使用。 自訂函數方法為了滿足這種需求,一種方法是建立自訂函數,例如問題中提供的...
    程式設計 發佈於2024-11-08
  • ## MySQL 中的 LIKE 與 LOCATE:哪個運算子是效能之王?
    ## MySQL 中的 LIKE 與 LOCATE:哪個運算子是效能之王?
    MySQL LIKE 與LOCATE 效能比較在MySQL 中查找資料時,你可能會想知道LIKE 和LOCATE 哪個運算子效率更高?本文探討了這兩個運算子之間的效能差異。 在典型的使用場景中,LIKE 比 LOCATE 稍快。這主要是因為 LIKE 不像 LOCATE 那樣執行與 0 的額外比較。...
    程式設計 發佈於2024-11-08
  • 如何使用 PHP 更新多個 MySQL 行的表單資料?
    如何使用 PHP 更新多個 MySQL 行的表單資料?
    使用表單資料更新多個MySQL 行在Web 開發中,通常有一個表單,使用者可以在其中編輯資料庫中的記錄。常見的情況是使用修改後的資料更新同一個表中的多行。這可以使用 PHP 和 MySQL 來實作。 表單結構與資料擷取初始表單負責呈現要編輯的資料。在此範例中,表單從資料庫中擷取具有特定 GALLER...
    程式設計 發佈於2024-11-08
  • 為什麼我不能在 Go 中將 []byte 分配給字串?
    為什麼我不能在 Go 中將 []byte 分配給字串?
    了解位元組分配錯誤:無法將[]byte 指派給字串在嘗試讀取資料夾中的檔案時,遇到了錯誤嘗試讀取檔案內容時,「無法在多重賦值中將[]byte 指派給z(字串類型)」。讓我們深入研究這個錯誤背後的原因。 理解多重賦值當在一行中為多個變數賦值時,如程式碼所示:z, err := ioutil.ReadF...
    程式設計 發佈於2024-11-08
  • 如何使用 React 和 Typescript 建立自訂表格元件(第 2 部分)
    如何使用 React 和 Typescript 建立自訂表格元件(第 2 部分)
    介绍 耶! ?您已经完成了这个由两部分组成的系列的最后一部分!如果您还没有查看第 1 部分,请先停在此处并完成第 1 部分。别担心,我们会等你回来! ? 在第 1 部分中,我们构建了 CustomTable 组件。您可以在这里看到它的实际效果。 在第二部分中,我们将扩展该组件以添加...
    程式設計 發佈於2024-11-08
  • 使用 TypeScript 和 ioredis 在 Node.js 中建立高效能快取管理器
    使用 TypeScript 和 ioredis 在 Node.js 中建立高效能快取管理器
    使用基於 ioredis 建構的多功能、易於使用的快取管理器來提升 Node.js 應用程式的效能。簡化快取、優化效率並簡化操作。 我根據自己的需求開發了一個基於 ioredis 的類,重點關注易用性和性能。它包括 TypeScript 支持,旨在實現簡單使用和高效操作。它仍然可以進一步改進和優化...
    程式設計 發佈於2024-11-08
  • 超類別引用和子類別對象
    超類別引用和子類別對象
    Java 是一種強型別語言。 標準轉換和自動升級適用於原始型別。 嚴格執行型別相容性。 通常,一個類別的引用變數不能引用另一個類別的物件。 即使類別 X 和 Y 在結構上相同,也不可能將 X 的引用分配給 Y 的對象,因為類型不同。 一般來說,物件引用變數只能引用其類型的物件。 型別強...
    程式設計 發佈於2024-11-08
  • Flexbox 中的 flex-grow 和 width 有何不同?
    Flexbox 中的 flex-grow 和 width 有何不同?
    Flexbox中flex-grow和width的區別Flexbox提供了兩種在元素之間分配空間的主要方法:flex- grow和width。了解這些屬性之間的差異對於有效使用 Flexbox 至關重要。 Flex-grow 與 widthFlex-grow 是一個無量綱屬性,定義元素的大小擴展以填充...
    程式設計 發佈於2024-11-08
  • 如何將表單標籤和輸入水平對齊在同一行?
    如何將表單標籤和輸入水平對齊在同一行?
    實現表單標籤與輸入在同一行水平放置在網頁開發中,表單的美觀對於使用者體驗至關重要。將標籤和輸入欄位排列在同一行可以增強表單的可讀性和可用性。本文探討如何將輸入元素與其標籤無縫對齊,無論其長度為何。 初始嘗試在單一元素上對齊標籤和輸入的常見方法行涉及將輸入的寬度設為自動。然而,這通常會導致輸入寬度固定...
    程式設計 發佈於2024-11-08
  • 遞迴-1
    遞迴-1
    簡介1 函數呼叫自身的過程稱為遞歸, 對應的函數稱為遞歸函數. 由於電腦程式設計是數學的基本應用,因此讓 我們首先嘗試理解遞歸背後的數學推理。 一般來說,我們都知道函數的概念。簡而言之,函數是 提供輸入時產生輸出的數學方程式。例如: 假設函數 F(x) 是由下式定義的函數: F(...
    程式設計 發佈於2024-11-08

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

Copyright© 2022 湘ICP备2022001581号-3