2013-09-22 5 views
0

Я сделал список под названием conditionList глядя, как это:Как разбить все первые элементы кортежей в списке? (Python)

('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 списков:

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. 

Таким образом, каждое слово связано с переменными приговора они принадлежат.

Как я могу перейти из своего условияList в нужный вам список?

спасибо.

+6

как «я» превращен в «я»? –

+0

Действительно, это опечатка. – KnRm

ответ

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)] 
+0

Спасибо за ваш ответ. Я новичок в python, не могли бы вы немного объяснить, как работает предлагаемый код? – KnRm

+0

Он отлично работает. Большое спасибо! – KnRm

Смежные вопросы