0

我制作了一个名为 conditionList 的列表,如下所示:

('I'm a man.', 2, 5, 10), ('I'm 20 years old', 6, 8, 10), ('This is just another sentence', 5, 6 10)

conditionList是 4 个列表的 zip 函数的结果:

conditionlist = zip(sentence, variable1, variable2, variable3)

所以列表的每个元素都由一个句子和三个数字组成。但是,我需要一个会产生以下列表的函数:

('I', 2, 5, 10), ('am', 2, 5, 10), ('a', 2, 5, 10), ('man.', 2, 5, 10), ('I', 6, 8, 10) etc.

这样,每个单词都与它们所属句子的变量相关联。

如何从我的 conditionList 转到所需的列表?

谢谢你。

4

1 回答 1

2

大概你有一个错字,你只需要一个理解和str.split.

>>> l
(("I'm a man.", 2, 5, 10),
 ("I'm 20 years old", 6, 8, 10),
 ('This is just another sentence', 5, 6, 10))
>>> [(i, j, k, m) for p, j, k, m in l for i in p.split()]
[("I'm", 2, 5, 10),
 ('a', 2, 5, 10),
 ('man.', 2, 5, 10),
 ("I'm", 6, 8, 10),
 ('20', 6, 8, 10),
 ('years', 6, 8, 10),
 ('old', 6, 8, 10),
 ('This', 5, 6, 10),
 ('is', 5, 6, 10),
 ('just', 5, 6, 10),
 ('another', 5, 6, 10),
 ('sentence', 5, 6, 10)]
于 2013-09-22T19:19:51.053 回答