对于Python中对list进行切片的理解(二)
今天详细看了慕课关于list切片的几个练习题,感觉挺有意思,以前学PHP的时候,从没接触过这种例题,好像PHP在学习过程中,一直都在弱化算法的东西,慕课上面的python完全没这方面的问题,几道例题,也是非常不错。
切片作业:
range()函数可以创建一个数列:
>>> range(1, 101)
[1, 2, 3, …, 100]
请利用切片,取出:
1. 前10个数;
2. 3的倍数;
3. 不大于50的5的倍数。
分析:
L = range(1,101)
1. 前十个数,很好写,从索引0直接取到10,从0开始,第一个参数可以省去,因此 print L[:10]
2. 3的倍数,3的倍数满足的条件是所有位数上的元素之和是3的倍数,其实可以看成,如果x是3的倍数,则x为3的n倍,这样我们可以想到,第一个3的倍数是3,以后每3个取一个,则会得出结果,因此 print L[2::3],第一个参数2为索引,第二个参数直接取到末尾,因此省去,第三个参数3表示每3个取一个
3. 同第2题,直接写结果print L[4:50:5]
:为参数的分隔符,第一个参数和第二个参数都是可以省略的,如果只写一个 :可以看成第一个参数和第二个参数都省略掉了
还没有任何评论,你来说两句吧