delete = ["man", "eat"]
item_list = ['sharper_task|$none_venue|man', 'sharper_task|man_venue|king', 'sharper_task|king_venue|world', 'sharper_task|world_venue|dont', 'sharper_task|を_venue|eater', 'sharper_task|eater_venue|todo', 'sharper_task|todo_venue|,']
我的代码:
lst = []
for x in item_list:
if not any(y in x for y in delete):
lst.append([x, x])
print(lst)
但是,这种方法会使我的输出变得非常麻烦。例如,如果我的delete包含delete=[“man”,“eat”],这与item\u列表中的单词“eater”不相似,但程序仍会接受它,因为我使用了if not any(x中的y)这个“IN”将返回true,因为eat包含在eater中,但我想要的不是包含在单词中,而是匹配的。我想把单词eater与eater和man与man匹配起来,而不是eater与eater和ma与man匹配起来。你知道吗
有没有办法做到完全匹配而不是部分匹配??我目前的代码采取部分匹配,这是如此错误,当我有许多部分字删除。你知道吗
然后可以检查字符串是否完全匹配:
注意:
or |
运算符在'sharper_task|eater_venue|todo'
这样的字符串中没有任何用处。你知道吗在使用
in
运算符测试delete
中的项是否位于其中一个子字符串中之前,可以先将|
的字符串拆分为子字符串:这将输出:
[['sharper_task|man_venue|king', 'sharper_task|man_venue|king'], ['sharper_task|king_venue|world', 'sharper_task|king_venue|world'], ['sharper_task|world_venue|dont', 'sharper_task|world_venue|dont'], ['sharper_task|を_venue|eater', 'sharper_task|を_venue|eater'], ['sharper_task|eater_venue|todo', 'sharper_task|eater_venue|todo'], ['sharper_task|todo_venue|,', 'sharper_task|todo_venue|,']]
假设你想在管道角色上分裂
相关问题 更多 >
编程相关推荐