Вы можете попробовать использовать что-то вроде HTML Tidy , чтобы очистить любой «сломанный» HTML и преобразовать HTML в XHTML, который затем можно разобрать с помощью парсера XML.
Вам нужно объединить, до или после индексирования. np.r_
упрощает
In [116]: idx=np.array([82, 9, 11, 94, 31, 87, 43, 77, 49, 50])
In [117]: np.r_[0:3,7:10]
Out[117]: array([0, 1, 2, 7, 8, 9])
In [118]: idx[np.r_[0:3,7:10]]
Out[118]: array([82, 9, 11, 77, 49, 50])
np.r_
расширяет срезы и объединяет их.
Вы можете смешивать фрагменты и списки:
In [120]: np.r_[0:3,7:10,[0,3,4]]
Out[120]: array([0, 1, 2, 7, 8, 9, 0, 3, 4])
Конкатенация перед индексированием, вероятно, быстрее, чем после, но для 1d массива, подобного этому, я не думаю, что разница значительна.