根據內容過濾字串列表
給定一個字串列表,您可能需要只提取包含以下內容的字串特定的子字串。在 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'] 清單。
雖然列表推導式和過濾器函數都可以實現所需的過濾,但列表推導式通常因其簡潔性和可讀性而受到青睞,尤其是對於像這樣的簡單過濾任務。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3