python delete list 1中的元素,如果它包含list 2中的前缀

时间:2018-12-21 19:57:26

标签: python list element contains

我有2个列表

list_links = ['google/order', 'google/faq', 'google/404']
prefixes = ['order', '404']

我需要从 list_links 中删除所有包含前缀

的元素

结果必须为

list_clean = ['google/faq']

我正在尝试做这样的事情

for link in list_links:
    for pre in prefixes:
        if pre in link:
            list_links.remove(link)
            break

但是它跳过了一些要素,我认为是因为我无法从当前循环的列表中删除要素 我在Google上搜索了很多示例,但都包含数字,还没有为我工作

2 个答案:

答案 0 :(得分:5)

您永远不应同时迭代和删除,而应使用list comprehension

var array1 = [{
    "visible": "true",
    "id": 0
}, {
    "visible": "true",
    "id": 1
}, {
    "visible": "true",
    "id": 2
}, {
    "visible": "true",
    "id": 3
}];

var array2 = [0,2]

答案 1 :(得分:1)

您可以将A..BA...B一起使用:

all

输出:

endswith