我有一个URL列表,例如:
www.google.com
www.yahoo.fr
www.stackoverflow.com
我想删除包含字符串“ oo”和“ flow”的所有URL 。
我做了一个python函数:
def my_function(param1,param2,
param3,param4,liste_to_delete,liste2_to_delete):
status=True
SQL_CONSTANT = "url not like '%"
URL_SEP = ";"
# getFirstList
broadcastListe1String =""
listtodelete = liste2_to_delete.split(URL_SEP)
for url in listtodelete:
broadcastListe1String = SQL_CONSTANT + url + "%'"
if(listtodelete.index(url) != len(listtodelete) -1):
broadcastListe1String = broadcastListe1String + " AND "
my_broadcast = sc.broadcast(broadcastListe1String)
然后我做了:
DataFrame= my_DataFrame.where(my_broadcast.value)
这个函数从我列表中的第二个元素开始,它不会占用我列表中的第一个元素。
如何更改我的功能还删除列表中的第一个元素?
可以使用这样的filter函数:
filter(lambda x: 'oo' not in x and 'flow' not in x, lst)
例如:
lst = ['www.google.com',
'www.yahoo.fr',
'www.stackoverflow.com',
'www.duckduck.com',
'www.amazon.com',
]
filtered_lst = filter(lambda x: 'oo' not in x and 'flow' not in x, lst)
要么:
lst = ['www.google.com',
'www.yahoo.fr',
'www.stackoverflow.com',
'www.duckduck.com',
'www.amazon.com',
]
ex_words = ['oo', 'flow']
filterd_lst = filter(lambda x: all(w not in x for w in ex_words), lst)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。