Создать срез с использованием кортежа

Есть ли в Python способ использовать кортеж в качестве индексов для среза? Следующее неверно:

>>> a = range(20)
>>> b = (5, 12)   # my slice indices
>>> a[b]          # not valid
>>> a[slice(b)]   # not valid
>>> a[b[0]:b[1]] # is an awkward syntax
[5, 6, 7, 8, 9, 10, 11]
>>> b1, b2 = b
>>> a[b1:b2]      # looks a bit cleaner
[5, 6, 7, 8, 9, 10, 11]

Похоже на разумно питонический синтаксис, поэтому я удивлен, что не могу этого сделать.

(обновление) И решение оказывается:

>>> a[slice(*b)]
[5, 6, 7, 8, 9, 10, 11]
20
задан Ethan Furman 23 June 2015 в 22:59
поделиться