NiP*_*iPa 0 python element contains list
我有2个清单
list_links = ['google/order', 'google/faq', 'google/404']
prefixes = ['order', '404']
Run Code Online (Sandbox Code Playgroud)
我需要删除包含前缀的list_links中的所有元素
结果必须是
list_clean = ['google/faq']
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情
for link in list_links:
for pre in prefixes:
if pre in link:
list_links.remove(link)
break
Run Code Online (Sandbox Code Playgroud)
但它跳过了一些元素,我认为它是因为我不能从列表中删除元素,我正在搜索的那一刻我已经搜索了很多例子,但这一切都有数字和避风港对我有用
你不应该同时迭代和删除,而是使用列表理解:
list_links = ['google/order', 'google/faq', 'google/404']
prefixes = ['order', '404']
result = [e for e in list_links if not any(prefix in e for prefix in prefixes)]
print(result)
Run Code Online (Sandbox Code Playgroud)