Python学习笔记(八)—切片(slicing)

    • 1.什么是切片
    • 2.倒序切片
    • 3.字符串切片

1.什么是切片

切片,即对指定索引范围的操作,相当于取集合的子集
L[a:b] : 从索引a起始,到索引b为止(不包括索引b的元素)(即b-a个元素),若a=0,还可以写成L[:b]
L[:] : 只写一个 : ,表示从头到尾取元素,即复制出了一个新list。
L[a:b:c] :切片操作还可以指定第三个参数,第三个参数表示每c个取一个

PS:将list换成tuple,可以完成同样的切片操作

L = range(1, 101)

print L[0:10] # 前10个数;
print L[2::3] # 3的倍数;
print L[4:50:5] # 不大于50的5的倍数。
执行结果:
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
    [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

2.倒序切片

在python中,支持list倒序取值,同样,它也支持倒序切片,倒序的一个元素的索引是-1
倒序切片包含起始索引,不包含结束索引。

L = range(1, 101)
print L[-10:]  #  最后10个数;
print L[-46::5]  #  最后10个5的倍数。
执行结果:
    [91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
    [55, 60, 65, 70, 75, 80, 85, 90, 95, 100]

3.字符串切片

可以将字符串(包括一般字符串与Unicode字符串)看出一个list,然后对其进行切片操作,操作结果仍然是字符串:

def firstCharUpper(s):
    return s[:1].upper() + s[1:]  # 将首字母变为大写,并返回首字母大写后的字符串

print firstCharUpper('hello')
print firstCharUpper('sunday')
print firstCharUpper('september')
执行结果:
    Hello
    Sunday
    September

你可能感兴趣的:(Python)