字符串的索引与切片
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
字符串可以当成一个数组来看,要注意数组的第一个元素的下标是0;而最后一个元素的下标是-1。
print "hello"[0]
print "hello"[-1]
字符串的另一个常见操作是取子串,即从字符串中拿一部分出来作为一个新的字符串,这就要用到Python中很强大的一个切片操作了。我们首先来看一个简单的切片:
"abcdefg"[1:3]
可以看到这个切片把字符串的第二个和第三个字符拿了出来。这个切片操作用到了两个索引,第一个为要取部分的开始索引(包含),第二个为要取部分的结束索引(不包含),或者把这两个索引想象成集合论中的左闭右开区间。
如果切片的第一个元素是字符串的第一个元素的话,可以省略掉第一个索引;同样如果要将切片取到字符串的末尾的话可以省略第二个索引。
print "abcdefg"[:3]
print "abcdefg"[3:]
print "abcdefg"[:]
切片的内容并没有就这么结束,切片还可以利用第三个参数,即步长让我们可以取非连续的字符,默认情况下的步长是1,如果我们把步长改成2又会怎样?
print "abcdefg"[0:5:2]
如果步长是负数的话又会怎样呢?
print "abcdefg"[::-2]
Python中没有提供一个可以反转字符串的函数,你能不能通过切片操作实现字符串的反转。比如输入是"hello"
输出是"olleh"
。
在线练习
{$ activeFileHint $}