Проблемы с пониманием списка Python - PullRequest
0 голосов
/ 02 августа 2011

У меня есть некоторые манипуляции с текстом, вот цикл for, который делает это:

 for p in paras[:]:

     pidx = paras.index(p)

     for sent in p:
         sidx = p.index(sent)

         sent = ' '.join(w[0] for w in sent)
         paras[pidx][sidx] = sent

     paras[pidx] =  'start' + ' '.join(paras[pidx]) + 'end'

Вот мое понимание списка:

 [' '.join(w[0] for w in sent) for p in paras for sent in p]

Это возвращает один большой список предложений, и мне нужны отдельные списки, основанные на параграфе (p), или есть какой-то способ указать, где находится конец каждого параграфа. Есть какой-нибудь сексуальный способ сделать это?

Ответы [ 2 ]

2 голосов
/ 02 августа 2011

Вложенный LC

[[' '.join(w[0] for w in sent) for sent in p] for p in paras]

должен давать каждый пункт в виде отдельного списка

1 голос
/ 02 августа 2011

Если предложение представляет собой список слов, то:

["see", "spot", "run"]

это предложение. А если абзац представляет собой список предложений, то:

[ ["see", "spot", "run"], ["see", "dick", "run"], ["see" "dick", "run", "after", "spot"] ]

это абзац. Вам просто нужно составить список списков слов, а не список слов.

...