我们要取List中的部分元素是很常见的操作,例如:有一个列表L=[‘Hello’,’hi’,’python’],如果我们要取前两个元素怎么做呢?
L=['Hello','hi','python']
print(L[0],L[1])
这就去出了前两个元素,如果我们在一个n个元素的List中取i个元素就不能用这个方法了,我们可以使用for i in range(n):
这个循环来出去。
对于再复杂一点的取出要求以上方法就太繁琐了,所以Python提供了Slice(切片),就简化了操作。
取出前几个元素的操作:
L=['python','java','c','c#']
print(L[0:2])
运行结果:['python', 'java']
在List的index中输入0:2,表示从第一个元素到第二个元素,和range类似,都是含前不含尾,如果开始的元素是第一个,即index为0,那么就可以省略,即print(L[:2])
也能达到和上面一样的结果。
若不是又第一个元素开始,那就必须要写,不能省略,如print(L[1:3])
如果要遍历也可以只写一个“:”即可,print(L[:])
跳跃取元素
如果我们要每隔几个元素就取出一次,那就要用到Slince的第二个参数,用“::”表示
L=range(0,101) #给L赋值从0到100
print(L[::50]) #从0开始遍历,每隔50个取一次
运行结果:[0,50,100]
若要指定区间可在第一个“:”前后加
L=range(0,101)
print(L[0:60:50]) #表示在0到60之间每隔50个取一次
运行结果:[0,50]
倒序切片
之前说列表时说过了列表中元素的正反index,这里也一样
l = [1,3,5,7,9]
print(l[-3:]) #输出-3之后的元素
print(l[:-3]) #输出-3之前的元素
运行结果:[5,7,9]
[1,3]
倒序输出
l=[1,3,5,7,9]
print(l[::-1])
运行结果:[9, 7, 5, 3, 1]
可见跳跃输出也可也从后跳跃o(^▽^)o
字符串切片
字符串切片也可以看成List切片,每一个字符为一个元素
s='hello'
print (s[1:3])
输出结果:el
这就是Python中的Slice(切片)。。。(づ ̄ 3 ̄)づ