На этом шаге мы рассмотрим еще одну задачу.
Поисковые системы ранжируют текстовую информацию по степени соответствия запросу пользователя. Для этого поисковые системы анализируют содержимое текста, в котором необходимо произвести поиск. Любой текст состоит из слов. В одних содержится немало информации о содержимом текста, а в других - нет. Примеры первых слов - white, whale, Captain, Ahab (узнали, откуда это?).
Примеры слов второго типа - is, to, as, the, a и how, поскольку они содержатся в большинстве текстов.
При реализации поисковых систем часто отфильтровывают слова, не несущие особого значения. Простейший эвристический подход - отфильтровывать все слова
из трех или менее букв.
Наша цель - решить следующую задачу: создать на основе многострочного строкового значения список списков, каждый из которых состоит из всех слов одной из строк, причем слова эти длиной три символа и более. В примере 2.2 приведены данные и решение.
## Данные text = ''' Call me Ishmael. Some years ago - never mind how long precisely - having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen, and regulating the circulation. - Moby Dick''' ## Однострочник w = [[x for x in line.split() if len(x) > 3] for line in text.split('\n')] ## Результат print(w)
Какими же будут результаты выполнения этого фрагмента кода?
Данный однострочник создает список списков с помощью двух вложенных выражений для спискового включения:
Конечно, необходимо научиться думать на языке списковых включений, поэтому в первое время они могут показаться сложными. Но когда вы закончите изучать предлагаемый материал, списковые включения станут для вас обыденными и вы будете быстро писать код на языке Python в подобном стиле.
На следующем шаге мы рассмотрим чтение файла.