在列表中查找子字串
給定一個字串列表,我們可能需要檢查特定字串是否出現在其任何元素中。與搜尋完全匹配的常見方法不同,我們希望識別包含目標字串作為子字串的字串。
例如,考慮列表 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中文網其他相關文章!