跟我读python3文档:011_列表(3.1.3. Lists
- 本教程为python3文档解读
- 本教程面向完全型小白,只要你会在电脑上打字,那你就可以看懂。
- 参考视频观看,味道更加:https://space.bilibili.com/186584185/#!/video
- 建议优先阅读本系列的《编程的本质》这一章节。
贯穿始终的理念:别废话,就是干!
往期回顾:
- 操作符%、//、**都是什么意思?
- 什么是数据类型
- 两数相除,结果是什么数据类型。
- 转义字符
- 分片
- 索引
文档解读
python3文档第三小节链接地址:3. An Informal Introduction to Python
本章主要讲解3.1.3. Lists(列表)这个小节
3.1.3. Lists(列表)
鉴于我们在之前的章节已经讲解列表了(用大楼举的例子),所以,这次,我们直接来看下面的代码吧~
>>> squares = [1, 4, 9, 16, 25] #赋值操作
>>> squares #打印变量的值
[1, 4, 9, 16, 25]
>>> squares[0] #索引操作,还记得上一期的内容吗,我们说,字符串是特殊的列表
1
>>> squares[-1] #负数下标,还记得下标是什么吗?
25
>>> squares[-3:] # 分片操作
[9, 16, 25]
还记得分片基本要素吗?
- 方括号下标
- 分号
- 范围(左取右舍,可以为空。)
思考题:两个范围都为空时,切片取值是什么?
>>> squares = [1, 4, 9, 16, 25]
>>> squares[ : ]
自己输入试试看~
还记得字符串里,加号+和乘号 * 的作用吗?
在列表中,他们也有相同的作用,不废话,直接上代码:
>>> squares = [1, 4, 9, 16, 25]
>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
自己动手试试下面的代码,看看和你预计的结果一样吗?
>>> a = [123,987]
>>> a * 3
以上内容,和我们上一期讲解的字符串基本上没有区别。但下面的内容就要注意了。
还记得我们说字符串是特殊的列表,它特殊在哪里吗?
段落截取(一)
Unlike strings, which are immutable, lists are a mutable type,i.e. it is possible to change their content
名词解释
- immutable
不可改变的 - mutable
可变的 - i.e.
这是英语中一种常见的缩写形式,相当于 that is
中文翻译为:也就是
段落大意
字符串值不可改变,列表值可变。
我们还是直接来看代码:
>>> a = [1, 8, 27, 65, 125]
>>> a[3] = 64 # 将3号值改为64。注意:序号是从0开始的。
>>> a
[1, 8, 27, 64, 125]
思考题:
既然列表值是可变的,那么能不能一次变换多个值?
提示:参考分片
自己先尝试在解释器里写一下,之后在看下面的答案。
答案:
>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> #思考:如何删除改变的值?
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 思考:如何删除全部值?
>>> letters[:] = []
>>> letters
[]
本期拓展
在python语言中,有一句话叫:一切皆对象。
要理解这句话,你首先要理解什么是对象。
对象,可以看成是一种特殊的数据类型,这种数据类型是由多种东西组成的。其中包括变量、包括函数。
如何理解呢?比如列表就是一个对象,列表里可以包含多个值。
比如:
>>> a = [123, 'b', '432', [234, 432] ]
>>> c = [234, a]
但是,你不知道的是,列表里也包含函数。只不过它没有显示出来而已。
比如:append()函数。我们可以通过“点”来调用列表的函数。
(append()函数的作用是在列表末尾加上其他值。组成全新的列表。)
>>> cubes = [1, 8, 27, 64, 125]
>>> cubes.append(216) # 在末尾加上216
>>> cubes.append(7 ** 3) # 在末尾加上7的3次方
>>> cubes
[1, 8, 27, 64, 125, 216, 343]
通过这个例子,能理解对象这个特殊类型了吗?
我们一般把对象里的变量叫做属性,把对象里的函数叫做方法。
具体内容,我们等到讲对象时,在具体介绍。
本期依旧省略了很多内容,比如列表的方法,列表里面再装列表等。
想提高的同学,可以试着自己解读。