如何在python

时间:2016-12-21 09:50:01

标签: python list tuples

我是python的初学者,迫切需要别人的帮助。

我正在尝试将文本转换为列表中的元组。 原始文本已经被标记化,每个pos都标记如下:

The/DT Fulton/NNP County/NNP Grand/NNP Jury/NNP said/VBD Friday/NNP an/DT

所需的输出如下所示:

[('The', 'DT'), ('Fulton', 'NNP'), ('County', 'NNP'), ...)]

所以,如果有人能给我一个帮助,那就太棒了! 提前谢谢!

2 个答案:

答案 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')]