If you are delimiting each selection using just the first and last indexes of each selector:
[ _string[x[0]:x[-1]] for x in index_list]
If your last index is inclusive, you should at 1 to the right limit:
[ _string[x[0]:(x[-1]+1)] for x in index_list]