我有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上搜索了很多示例,但都包含数字,还没有为我工作
答案 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..B
与A...B
一起使用:
all
输出:
endswith