我在查找過濾列表中的元素。比較和過濾python中的列表元素
比方說我有一個列表:
listA = ['banana', 'apple', 'appleRed', 'melon_01', 'appleGreen', 'Orange', 'melon_03']
listB = ['apple', 'melon']
現在我需要比較列表,併產生只包含元素名稱與數組listB可以啓動一個列表。
結果應該是:
listResult = ['apple', 'appleRed', 'melon_01', 'appleGreen', 'melon_03']
我可以循環使用一個循環,如果做比較這2。像
for item in listA:
for fruit in listB:
if item.startswith(fruit):
listResult.append(item)
break
但是,我想知道是否有任何捷徑可用於此操作,因爲這可能需要更多時間來進行大型列表比較。
'.startswith'也接受字符串作爲參數的元組,所以'如果item.startswith (元組(listB))'也會起作用。 – DSM
要明確一點,雖然知道'.startswith'接受元組是很可愛的,但'any'的適用範圍要廣泛得多,因此它是知道和使用這些模式的重要因素。 – DSM
謝謝。第二種解決方案看起來很棒 – karpanai