首頁 >後端開發 >Python教學 >如何有效率地查找字串清單中的子字串?

如何有效率地查找字串清單中的子字串?

Linda Hamilton
Linda Hamilton原創
2024-12-17 07:04:25314瀏覽

How Can I Efficiently Find Substrings Within a List of Strings?

在列表中查找子字串

給定一個字串列表,我們可能需要檢查特定字串是否出現在其任何元素中。與搜尋完全匹配的常見方法不同,我們希望識別包含目標字串作為子字串的字串。

例如,考慮列表 xs = ['abc-123', 'def-456 '、'ghi-789'、'abc-456']。使用 if 'abc' in xs 檢查 'abc' 的精確匹配只會檢測其精確出現並錯過像 'abc-123' 和 'abc-456' 這樣的子字串。

要找子字串,我們可以使用in 運算子與列表理解結合。下面的程式碼驗證清單中任何元素中是否存在「abc」作為子字串:

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any("abc" in s for s in xs):
    # 'abc' is present as a substring in at least one element

或者,如果我們想檢索包含「abc」的所有元素,我們可以修改清單理解如下:

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

matching = [s for s in xs if "abc" in s]

print(matching)  # ['abc-123', 'abc-456']

以上是如何有效率地查找字串清單中的子字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn