课程
/后端开发
/Python
/初识Python
如题,能懂[::2]但不懂[2::3]
2016-07-08
源自:初识Python 8-1
正在回答
[start:stop:step]
start 包括第一位 省略则为列表等数据结构的第一个元素
stop 不包括最后一位数
step 指的是步长,步长为几,则为几的倍数
题主加油,慢慢来
慕粉3488718 提问者
慕粉3553468
[2::3]为什么指的是3的倍数
是在特定的范围,索引下标值一般从0开始依次加1,2即为索引下标的0、1、2...,实际list的第三个数值,3为间隔,
当list从1开始,2的索引值为3,间隔又为3,因此输出的是3的倍数
[4:50:5]
综上所述,则索引四的下标为5,间隔为5,中间截取前50,所以是50以下5的倍数
range(1,101) 中的元素为[1,2,3,4,5,6,7...100]
其中0号位元素为1, 1号位元素为2 ,99号位元素为100.
第一个3的倍数是数字3,是list中的第2号元素,就要从2开始,这是[2::3]中2的来源
两个分号之间没有数字,默认为list 最后
因为是3的倍数,所以最后一位是3,综上[2::3]
前50中5的倍数,第一个是数字5,在list中是第4号位元素,所以第一位为4
因为限定了前50中5的倍数,第50位元素对应的是数字51(不含51)
间隔是5,所以最后一位是5
[2::3]这里面的2表示的是起始数的索引,3表示的是从每三个数中取出一个
类似的,[4:50:5]表示我要取的数的起始值是原tuple的下标为4的数,也就是5,每隔5个数取出一个,直到下标为50的数为止
2是指切片起点为索引值为2(即第三个数)的数,也就是数字3,中间没有写终点是指到最后一位数为止,3是指步长为3(3的倍数)。同理[4:50:5]。
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序