为了账号安全,请及时绑定邮箱和手机立即绑定

根据唯一值列表拆分列表

根据唯一值列表拆分列表

哈士奇WWW 2022-05-24 09:28:18
假设我有一个名为的列表split_on_these,我想使用它来拆分另一个列表text。我首先填充split_on_these以免删除自然发生的split_on_these条目实例:split_on_these = ['iv', 'x', 'v']text = ["random iv text x hat v", "cat", "dog iv", "random cat x"]padding = [" " + i + " " for i in split_on_these]我正在尝试new_text在其中包含的所有项目上创建拆分,padding如下所示:["random", "text", "hat", "cat", "dog", "random cat"]我尝试将包含在其中的所有文本条目替换为padding某个字符~,然后拆分该字符,但问题是当您迭代文本中的条目时,有时它会是单词块,而有时它会是个别字母。请注意,应保留分隔符之前的整个块(例如随机猫)。
查看完整描述

2 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

您已经通过填充分割词完成了“重拆分”。你剩下的是一个拆分和过滤序列


text = ["random iv text x hat v", "cat", "dog iv"]

[word for sent in text for word in sent.split() if word not in split_on_these]

这会将您的填充句子拆分为单个单词并过滤掉不需要的单词。结果:


['random', 'text', 'hat', 'cat', 'dog']


查看完整回答
反对 回复 2022-05-24
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

您可以使用 Python 的re 。它具有更强大的split功能,可让您在正则表达式而不是单个字符上进行拆分。

您可以创建一个匹配任何一个填充字符串的正则表达式,如下所示:

re.split("iv|x|v", text)

上面的正则表达式并不完美 - 您还必须考虑何时/是否匹配每个填充序列周围的空格。


查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号