按范围切片

时间:2014-12-26 17:21:19

标签: python python-2.7

我想在Python中按范围切片,看起来似乎不可能。

>>> a='0123456789'
>>> a[range(1,2)]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: string indices must be integers, not list

为什么我要这样做?我想在我的脚本的一部分中定义“切片”,将其放在变量中,并在其他地方进行实际切片。像这样:

myrange=range(1,2)
a='0123456789'
a[myrange] #<-----raises TypeError

是否有可能,如果没有,如何正确地做出类似的事情并且“正确”?

3 个答案:

答案 0 :(得分:5)

slice代替range吗? 如果是这样,你可以使用它:

>>> a = '0123456789'
>>> a[slice(1, 2)]
'1'

答案 1 :(得分:2)

尝试使用slice()而不是range()

mySlice=slice(1,2)
a='0123456789'
a[mySlice]

会给你

'1'

答案 2 :(得分:0)

替换&#34; ,&#34;用&#34; :&#34;用这种语法。

例如:

a = "0123456789"
a[1:2]