如何拆分列表中元组的所有第一个元素? (蟒蛇)

时间:2013-09-22 19:10:48

标签: python list tuples

我创建了一个名为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.

通过这种方式,每个单词都与它们所属的句子的变量相关联。

如何从条件列表转到所需列表?

谢谢。

1 个答案:

答案 0 :(得分: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)]