arr_invalid = ['aks', 'rabbbit', 'dog']
strings = [ "aks", "akss","foo", "saks"]
filt = list(filter(lambda x: not any(s in x.lower() for s in arr_invalid),strings))
输出:
^{pr2}$
如果只想排除以子字符串之一开头的字符串:
t = tuple(arr_invalid)
filt = list(filter(lambda x: not x.lower().startswith(t), strings))
输出:
['foo', 'saks']
如果输入是一个字符串,只需拆分:
st = "foo akss saks aks"
t = tuple(arr_invalid)
filt = list(filter(lambda x: not x.startswith(t),st.lower().split()))
您也可以使用列表组件:
[s for s in st.lower().split() if not s.startswith(t)]
arr_invalid = {'aks', 'rabbbit', 'dog'}
st = "foo akss saks aks"
t = tuple(arr_invalid)
file = list(filter(lambda s: s not in st or not s.startswith(t),st.lower().split())
您需要比较每个字符串,除非单词经过排序,否则可以使用
any
查看每个字符串中是否有子字符串:输出:
^{pr2}$如果只想排除以子字符串之一开头的字符串:
输出:
如果输入是一个字符串,只需拆分:
您也可以使用列表组件:
正如poke所说,你可以找到与集合完全匹配的内容,你仍然需要它来将它与or中的any和结合起来str.startswith对于匹配的子字符串:
相关问题 更多 >
编程相关推荐