
2.3.3 改、查
对于列表中的元素改写,先要找出元素的索引位置,然后再使用等号“=”进行赋值,就可以改写列表中的元素值。具体示例如图2-9所示。
所谓的查找,实际上就是判断某一特定的元素是否存在于列表中。常用的查找方法有:in、not in、index和count。具体用法如表2-8所示。

图2-8 pop()、remove()、del用法示例

图2-9 列表的改操作示例
表2-8 列表的查操作用法示例

列表中的查询,直接使用索引即可访问该元素。要确保索引不要越界,并且列表的最后一个元素的索引是列表长度减去1。
1. 使用索引查询元素
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,以此类推,可以获取倒数第2个、倒数第3个。具体操作如图2-10所示。

图2-10 使用索引查询列表元素
注意,列表list中的元素,可以是一个列表,这就是所谓的列表嵌套。在学习了字典之后,列表的元素也可以是字典。

要注意language只有5个元素,其中language[2]又是一个list,如果拆开写就更容易理解了。因此,上述代码可改写为:

要想取得"php",可以写p[0]或者language[2][0],因此language可以看成是一个二维数组,类似的还有三维、四维等数组,但在实际开发过程中,很少会用到三维及以上的数组。
2. 使用切片访问列表
这一点与字符串的访问相类似。其切片语法为:[起始:结束:步长]。选取的区间属于左闭右开型区间,即从“起始”位开始,到“结束”位的前一位结束(不包含结束位本身)。对应到数学中,就是前闭后开型区间,也可以理解为start <=i <end。
例如:language=["python","go","php","scala","java","c"],则切片访问列表的示例如表2-9所示。
表2-9 切片访问列表的示例
