簡體   English   中英

如何從字符串列表中刪除子字符串列表

[英]How to remove a list of substrings from a list of strings

我可以找到很多建議:從字符串中刪除子字符串列表,但很少/沒有從字符串列表中刪除子字符串列表。

我的數據是這樣的:

清單 1:[Op 18 TC 16、TC 20、OP 15 TC 80]

清單 2: [Op 18, , OP 15]

預期結果:最終清單包含:[TC 16、TC 20、TC 80]

我知道我需要考慮空格等,答案可能很明顯/盯着我的臉,但我似乎無法破解這個。

我在 for 循環中嘗試了 for 循環,但最終在最終列表中得到了明顯的大量值,我嘗試了一個我認為可行但沒有影響的列表理解。

如果我需要改進這個問題,請告訴我,但請幫忙,因為我被困在這個問題上

嘗試這個:

lst1 = ['Op 18 TC 16', 'TC 20', 'OP 15 TC 80']
lst2 = ['Op 18', 'OP 15']

result = []
for s1 in lst1:
    tmp = s1
    for s2 in lst2:
        tmp = tmp.replace(s2, '')
    result.append(tmp.strip())

這是結果

>>> result
['TC 16', 'TC 20', 'TC 80']

您可以通過循環第二個數組並從第一個數組中刪除項目來做到這一點,如下所示:

listOne = ["Op 18", "Op 18", "TC 16", "TC 20", "OP 15", "TC 80"]
listTwo =  ["Op 18", "OP 15"]

for string in listTwo:
    try:
        while True:
            listOne.remove(string)
    except ValueError:
        pass

print(listOne)
# ['TC 16', 'TC 20', 'TC 80']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM