一.场景:数组 arr = ['a','b','c','d','e'],取数组前三个元素
最笨的取法:print('%s %s %s'%(arr[0],arr[1],arr[2]))
循环取法:
r = [];
for i in range(3):
r.append(arr[i])
print('%s'%r)
切片取法
print('%s'%(arr[0:3]))
二.高级用法:
1.如果第一个索引是0,还可以用 arr[:3]
2.Python支持arr[-1]取倒数第一个元素,此处的值为:e
3.下面具体的例子:
我们先创建一个0-49的数列:
>>> L = list(range(50))>>> L
可以通过切片轻松取出某一段数列。比如前10个数:
>>> L[:10][0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
后10个数:
>>> L[-10:][40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
前11-20个数:
>>> L[10:20][10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
前10个数,每两个取一个:
>>> L[:10:2][0, 2, 4, 6, 8]
所有数,每5个取一个:
>>> L[::5][0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
甚至什么都不写,只写[:]就可以原样复制一个list:
>>> L[:][0, 1, 2, 3, ..., 49]
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
>>> (0, 1, 2, 3, 4, 5)[:3](0, 1, 2)
字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
>>> 'ABCDEFG'[:3] 'ABC' >>> 'ABCDEFG'[::2] 'ACEG'
下期分享迭代哦,喜欢的朋友可以关注我,谢谢!
页面更新:2024-03-11
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号