我是python的初学者,迫切需要别人的帮助。
我正在尝试将文本转换为列表中的元组。 原始文本已经被标记化,每个pos都标记如下:
The/DT Fulton/NNP County/NNP Grand/NNP Jury/NNP said/VBD Friday/NNP an/DT
所需的输出如下所示:
[('The', 'DT'), ('Fulton', 'NNP'), ('County', 'NNP'), ...)]
所以,如果有人能给我一个帮助,那就太棒了! 提前谢谢!
答案 0 :(得分:1)
您可以使用下面的list comprehension:
>>> s = 'The/DT Fulton/NNP County/NNP Grand/NNP Jury/NNP said/VBD Friday/NNP an/DT'
>>>
>>> [tuple(i.split('/')) for i in s.split()]
[('The', 'DT'), ('Fulton', 'NNP'), ('County', 'NNP'), ('Grand', 'NNP'), ('Jury', 'NNP'), ('said', 'VBD'), ('Friday', 'NNP'), ('an', 'DT')]
split()
用于在第一次使用 space 分隔符形成字符串列表,第二次使用斜杠(分割每个子项目)两个要素)
tuple()
用于将每个子项(包含两个元素)转换为tuple
。
答案 1 :(得分:1)
x="The/DT Fulton/NNP County/NNP Grand/NNP Jury/NNP said/VBD Friday/NNP an/DT"
print re.findall(r"(\w+)\/(\w+)", x)
输出:
[('The', 'DT'), ('Fulton', 'NNP'), ('County', 'NNP'), ('Grand', 'NNP'), ('Jury', 'NNP'), ('said', 'VBD'), ('Friday', 'NNP'), ('an', 'DT')]