Форум сайта python.su
как объединить 50 первых и 50 последних предложений в тексте какого корпуса, например gutenberg.sents('austen-sense.txt')?
Офлайн
%взрыв моска%
Офлайн
Попробуй:
flugerdiheinen.join50first50last('austen-sense.txt')
Отредактировано (Янв. 28, 2010 11:53:53)
Офлайн
не совсем понятно, но вот что у меня вышло:
# -*- coding: utf-8 -*-
import re
text = ''' Прежде чем войти в лифт, Анатолий не удержался, и посмотрел в окно еще
раз.
Разумеется, корабль Чужих был на прежнем месте-- прямо над памятником
Петру Первому, на высоте ста четырнадцати с половиной (проверено) метров,
непоколебимо удерживаемый в ночном небе антигравитационными (заявлено)
двигателями, и цепочка оранжевых огней, обозначающая боевые рубки
(предположительно) все так же опоясывала края огромного диска.
Да и куда ему деваться?
А внизу, под чудовищной машиной смерти и разрушения, второй месяц
парящей над Москвой, мерцала иллюминация, ехали по улицам машины, гуляли,
изредка задирая голову к небу, люди. Человек-- очень пластичное создание.
Человек может привыкнуть ко всему, причем удивительно быстро.
Анатолий вздохнул, и вошел в лифт.
-- Добрый вечер, господин особый посол,-- приветствовал его охранник.
Немолодой уже человек, наверняка в чине не ниже майора. Какой-нибудь
"альфовец", вероятно.
-- Добрый вечер.
Охранник нажал на кнопку, и лифт пополз вверх. Какого дьявола Чужие
облюбовали именно это здание?
-- Как успехи?-- вежливо поинтересовался охранник. Это был ритуальный
вопрос, и ответ Анатолия был не менее стандартным:
-- Работаем.'''
count = 3 # по 3 предложени с конца и начала
seps = r"(\w\w--|\.\.\.|[.!?])" # наборы разделителей
clauses = re.split(seps, text)[:-1]
print "".join(clauses[:count * 2]) + "".join(clauses[-count * 2:])
Офлайн