python学习记录(11)
0. 下边的列表分片操作会打印什么内容
list1 = [1, 3, 2, 9, 7, 8]
list1[2:5]
2,9,7
1. 请问 list1[0] 和 list1[0:1] 一样吗?
不一样,list1[0] 返回第0个元素的值,list1[0:1] 返回一个只含有第0个元素的列表。
2. 如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做?
使用数组.pop调取最后一个元素,然后使用数组.insert(0,调取的元素)
3. 有些鱼油比较调皮,他说我想试试 list1[-3:-1] 会不会报错,怎么知道一试居然显示 [9, 7],这是怎么回事呢?
Python 的列表很聪明,支持负数索引,负数索引从右往左索引,其中最左边的索引值为-1
4. 在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,但其实还有另外一个隐藏的设置:步长。
在普通的分片操作中,步长默认设置为1,表示逐个遍历元素。其实我们可以人为调整步长以达到不可告人的秘密。
list1[0:6:2]
[1, 2, 7]
复制代码
那么依你推测,关于步长的知识点还有哪些(很多知识点都是通用的)?
可以利用步长来选取列表中参数
步长不能为0
步长为负数时候,改变方向
5. 课堂上小甲鱼说可以利用分片完成列表的拷贝 list2 = list1[:],那事实上可不可以直接写成 list2 = list1 更加简洁呢?
不可以,应为python是对象指向型的编程程序,如果直接写出 list2 = list1,改变list1的值,同样会改变list2中的值
6. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
我已经都忘掉了 凉凉!!!