Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2017 13:26:53

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

пропустить несколько итераций если...

Доброго времени суток.
Никак не могу решить простую задачку.

 <ul>
  <a href="Parse me"></a>
</ul>
<ul>
  <li>bla-bla-bla</li>
</ul>
<ul>
  <li>bla-bla-bla</li>
</ul>
<ul>
  <li>something text Need parse</li>
</ul>
<ul>
  <a href="Parse me"></a>
</ul>
и так далее

lxml.html

 for i, k in enumerate(tree.iter('ul')):
      x = k.text_content()
      if x.startswith('Parse me'):
            print i, x

 0 Parse me
4 Parse me

как связать, чтобы вывод был таким?

 0 Parse me 3 something text Need parse
4 Parse me 7 something text Need parse




Офлайн

#2 Янв. 19, 2017 15:48:41

xkbd
Зарегистрирован: 2017-01-18
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

пропустить несколько итераций если...

Что ты хочешь сделать? Вывести текст по индексу i+2?

      need_parse_index = None
     for i, k in enumerate(tree.iter('ul')):
        x = k.text_content()
        if i == need_parse_index:
            need_parse_index = None
            print i, x
        elif x.startswith('Parse me'):
            print i, x,
            need_parse_index = i+2

Офлайн

#3 Янв. 19, 2017 17:43:10

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

пропустить несколько итераций если...

xkbd
Что ты хочешь сделать? Вывести текст по индексу i+2?
абсолюли.
и я уже нашел выход, но попробую и твой вариант, а также не откажусь от других.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version