我想在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
是否有可能,如果没有,如何正确地做出类似的事情并且“正确”?
答案 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]