在元组列表中查找某种类型的一个或多个字符串

贡萨洛·科雷亚(GonçaloCorreia)

假设我有以下元组:

tagged = [('They', 'PRP'),
 ('refuse', 'VBP'),
 ('to', 'TO'),
 ('permit', 'VB'),
 ('us', 'PRP'),
 ('to', 'TO'),
 ('obtain', 'VB'),
 ('the', 'DT'),
 ('refuse', 'NN'),
 ('permit', 'NN')]

我想采用一个或多个名词(按顺序排列)的所有组合。因此,输出为:

['refuse','permit','refuse permit']

我可以得到这样的前两个:

filtered = [x[0] for x in tagged if x[1]=='NN']

但是我目前无法找到一种方法来获取'NN'列表中的序列

编辑:

此列表是一个更好的示例:

 [('If', 'IN'),
 ('the', 'DT'),
 ('company', 'NN'),
 ('name', 'NN'),
 ('or', 'CC'),
 ('job', 'NN'),
 ('title', 'NN'),
 ('includes', 'VBZ'),
 ('multiple', 'JJ'),
 ('words', 'NNS'),
 (',', ','),
 ('use', 'NN'),
 ('double', 'JJ'),
 ('quotation', 'NN'),
 ('marks', 'NNS'),
 ('.', '.')]

应该返回:

['company', 'name', 'company name', 'job', 'title', 'job title', 'use', 'quotation']
米吉尔森

这是一个非常简单的groupby操作,只需要一点处理。如果我们按标签分组,只看名词组,那么我们就快到了。然后,唯一要做的就是加入具有1个以上项目的组,并按照正确的顺序将其放入输出中:

from itertools import groupby

def group_nouns(iterable):
    for key, group in groupby(iterable, key=lambda t: t[1]):
        if key == 'NN':  # only worry about groups of nouns.
            seq = [t[0] for t in group]  # drop tags.
            if len(seq) == 1:
                yield seq[0]
            else:
                for noun in seq:
                    yield noun
                yield ' '.join(seq)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在元组列表中查找某种类型的一个或多个字符串

来自分类Dev

显示多个字符串列表中的一个字符串

来自分类Dev

排序元组列表,其中每个元组都是一个字符串

来自分类Dev

如何查找一个字符串(或多个字符串)的一部分是否在列表Python内

来自分类Dev

元组列表中第一个字符串之后存在多少个整数

来自分类Dev

Django模板-迭代一个元组列表,每个元组是一个字符串,字典

来自分类Dev

在其他字符串列表中查找一个字符串

来自分类Dev

查找字符串列表中的字符串是否在Esper中的另一个字符串列表中

来自分类Dev

python regex查找/匹配一个或多个字符串

来自分类Dev

查找列表的元素是否存在于另一个字符串中

来自分类Dev

遍历列表以查找数据并构造一个字符串

来自分类Dev

计算一个字符串中的多个字母组

来自分类Dev

在作为字母的字符串中查找第一个字符

来自分类Dev

查找数组字符串中的第一个字符

来自分类Dev

数组列表的一个索引处有多个字符串

来自分类Dev

将一个字符串拆分为多个列表

来自分类Dev

表中的MYSQL查找值与一个字符串的多个可能的子字符串中的最佳匹配

来自分类Dev

表中的MYSQL查找值与一个字符串的多个可能的子字符串中的最佳匹配

来自分类Dev

在另一个字符串中多次查找一个字符串-Python

来自分类Dev

Java使用嵌套循环在另一个字符串中查找一个字符串出现的次数

来自分类Dev

使用 for 循环在另一个字符串中查找一个字符串

来自分类Dev

查找字符串中的文本并将整个字符串替换为另一个字符串+ R

来自分类Dev

计算一个字符变量中多个字符串的出现次数

来自分类Dev

向数组列表中的每个字符串添加一个字符

来自分类Dev

如何在列表中每个字符串的末尾添加一个字符?

来自分类Dev

如何将具有n个元素的元组与一个字符串组合到列表中?

来自分类Dev

隐藏一个字符串,该字符串是正确的列表python中的列表

来自分类Dev

在另一个字符串中查找数字字符串

来自分类Dev

查找并使用一个字符串中多次出现的字符串

Related 相关文章

  1. 1

    在元组列表中查找某种类型的一个或多个字符串

  2. 2

    显示多个字符串列表中的一个字符串

  3. 3

    排序元组列表,其中每个元组都是一个字符串

  4. 4

    如何查找一个字符串(或多个字符串)的一部分是否在列表Python内

  5. 5

    元组列表中第一个字符串之后存在多少个整数

  6. 6

    Django模板-迭代一个元组列表,每个元组是一个字符串,字典

  7. 7

    在其他字符串列表中查找一个字符串

  8. 8

    查找字符串列表中的字符串是否在Esper中的另一个字符串列表中

  9. 9

    python regex查找/匹配一个或多个字符串

  10. 10

    查找列表的元素是否存在于另一个字符串中

  11. 11

    遍历列表以查找数据并构造一个字符串

  12. 12

    计算一个字符串中的多个字母组

  13. 13

    在作为字母的字符串中查找第一个字符

  14. 14

    查找数组字符串中的第一个字符

  15. 15

    数组列表的一个索引处有多个字符串

  16. 16

    将一个字符串拆分为多个列表

  17. 17

    表中的MYSQL查找值与一个字符串的多个可能的子字符串中的最佳匹配

  18. 18

    表中的MYSQL查找值与一个字符串的多个可能的子字符串中的最佳匹配

  19. 19

    在另一个字符串中多次查找一个字符串-Python

  20. 20

    Java使用嵌套循环在另一个字符串中查找一个字符串出现的次数

  21. 21

    使用 for 循环在另一个字符串中查找一个字符串

  22. 22

    查找字符串中的文本并将整个字符串替换为另一个字符串+ R

  23. 23

    计算一个字符变量中多个字符串的出现次数

  24. 24

    向数组列表中的每个字符串添加一个字符

  25. 25

    如何在列表中每个字符串的末尾添加一个字符?

  26. 26

    如何将具有n个元素的元组与一个字符串组合到列表中?

  27. 27

    隐藏一个字符串,该字符串是正确的列表python中的列表

  28. 28

    在另一个字符串中查找数字字符串

  29. 29

    查找并使用一个字符串中多次出现的字符串

热门标签

归档