如何构建一个简单的令牌生成器

罗恩

我想知道如何构建一个非常简单的令牌生成器。给定字典d(在此情况下为列表)和句子s,我想返回该句子的所有可能标记(=单词)。这是我尝试过的:

l = ["the","snow","ball","snowball","is","cold"]
sentence = "thesnowballisverycold"

def subs(string, ret=['']):
    if len(string) == 0:
        return ret
    head, tail = string[0], string[1:]
    ret = ret + list(map(lambda x: x+head, ret))
    return subs(tail, ret)
    
print((list(set(subs(sentence))&set(l))))

但这返回:

["snow","ball","cold","is","snowball","the"]

我可以比较子字符串,但是必须有更好的方法来做到这一点,对吗?我想要的是:

["the","snowball","is","cold"]
维克多·史翠比维

您可以在此处使用正则表达式:

import re
l = ["the","snow","ball","snowball","is","cold"]
pattern = "|".join(sorted(l, key=len, reverse=True))
sentence = "thesnowballisverycold"
print( re.findall(pattern, sentence) )
# => ['the', 'snowball', 'is', 'cold']

请参阅Python演示

模式将看起来像snowball|snow|ball|cold|the|is,请参见regex在线演示诀窍是要确保从最长到最短列出所有替代方案。请参见正则表达式运算符(.. | ..... .. | ..)的顺序sorted(l, key=len, reverse=True)零件l按长度降序对项目进行排序,并"|".join(...)创建交替模式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要一个简单的线梯度生成器

来自分类Dev

如何编写一个简单的“页面错误生成器”?

来自分类Dev

antlr令牌生成器从最后一个令牌开始

来自分类Dev

令牌生成器仅打印第一个令牌

来自分类Dev

令牌生成器仅打印第一个令牌

来自分类Dev

如何传递一个空的生成器参数?

来自分类Dev

Java中的字符串令牌生成器给出错误的输出。需要帮助(可能是一个简单的解决方案)

来自分类Dev

如何将一个元组的Python生成器拆分为2个单独的生成器?

来自分类Dev

构建一个打字机生成器,根据打字速度定义字体

来自分类Dev

如何在Scalatest中使用forAll仅生成生成器的一个对象?

来自分类Dev

如何定义一个ScalaCheck生成器来生成序列元素的子集?

来自分类Dev

需要帮助来构建令牌生成器/令牌场

来自分类Dev

我编写了一个简单的随机数生成器,如何绘制我编写的函数的分布图?

来自分类Dev

创建/替换新字段类型时,仅添加一个令牌生成器过滤器

来自分类Dev

python,生成器迭代一个或多个项目

来自分类Dev

Python生成器返回最后一个项目

来自分类Dev

如何为Hibernate中的每个公司创建一个customerNumber生成器

来自分类Dev

在Idris中,如何编写一个带参数索引功能的“ vect生成器”函数

来自分类Dev

如何使生成器提前准备下一个值?

来自分类Dev

如何仅对一个样本运行set.seed()生成器?

来自分类Dev

如何使tensorflow.keras.model.predict()输出一个生成器?

来自分类Dev

如何制作一个随机的按钮背景色生成器?

来自分类Dev

如何编写一个好的生成器链接函数

来自分类Dev

App Generator:如何声明一个变量以在整个生成器中使用?

来自分类Dev

我如何创建只有一个特殊字符的生成器字符串?

来自分类Dev

如何实现简单的ID生成器?

来自分类Dev

我想创建一个生成器来生成任意两个输入生成器的交集

来自分类Dev

如何制作一个行生成器表达式来生成这两个不同的列表

来自分类Dev

如何使一个随机数生成器一次只打印4个随机数?

Related 相关文章

  1. 1

    需要一个简单的线梯度生成器

  2. 2

    如何编写一个简单的“页面错误生成器”?

  3. 3

    antlr令牌生成器从最后一个令牌开始

  4. 4

    令牌生成器仅打印第一个令牌

  5. 5

    令牌生成器仅打印第一个令牌

  6. 6

    如何传递一个空的生成器参数?

  7. 7

    Java中的字符串令牌生成器给出错误的输出。需要帮助(可能是一个简单的解决方案)

  8. 8

    如何将一个元组的Python生成器拆分为2个单独的生成器?

  9. 9

    构建一个打字机生成器,根据打字速度定义字体

  10. 10

    如何在Scalatest中使用forAll仅生成生成器的一个对象?

  11. 11

    如何定义一个ScalaCheck生成器来生成序列元素的子集?

  12. 12

    需要帮助来构建令牌生成器/令牌场

  13. 13

    我编写了一个简单的随机数生成器,如何绘制我编写的函数的分布图?

  14. 14

    创建/替换新字段类型时,仅添加一个令牌生成器过滤器

  15. 15

    python,生成器迭代一个或多个项目

  16. 16

    Python生成器返回最后一个项目

  17. 17

    如何为Hibernate中的每个公司创建一个customerNumber生成器

  18. 18

    在Idris中,如何编写一个带参数索引功能的“ vect生成器”函数

  19. 19

    如何使生成器提前准备下一个值?

  20. 20

    如何仅对一个样本运行set.seed()生成器?

  21. 21

    如何使tensorflow.keras.model.predict()输出一个生成器?

  22. 22

    如何制作一个随机的按钮背景色生成器?

  23. 23

    如何编写一个好的生成器链接函数

  24. 24

    App Generator:如何声明一个变量以在整个生成器中使用?

  25. 25

    我如何创建只有一个特殊字符的生成器字符串?

  26. 26

    如何实现简单的ID生成器?

  27. 27

    我想创建一个生成器来生成任意两个输入生成器的交集

  28. 28

    如何制作一个行生成器表达式来生成这两个不同的列表

  29. 29

    如何使一个随机数生成器一次只打印4个随机数?

热门标签

归档