操作list

上周给list开了个头,知道了什么是list。假设我们现在有一个list:

l = [365, 'everyday', 0.618, True]

除了用for...in遍历l中的元素,我们还能做点啥?

1. 访问list中的元素

list中的每个元素都对应一个递增的序号。与现实中习惯的序号不同在于,计算机中的计数通常都是从0开始,python也不例外。如果你记不清这个而导致了错误,请去听一下孙燕姿的《爱从零开始》。

要访问l中的第1个元素365,只要用l[0]就可以了。依次类推,

print l[1]

就会输出'everyday'

注意,你不能访问一个不存在的元素,比如l[10],程序就会报错,提示你index越界了。

2. 修改list中的元素

修改list中的某一个元素,只需要直接给那个元素赋值就可以了:

l[0] = 123

输出l,得到[123, 'everyday', 0.618, True],第1个元素已经从365被改成了123。

3. 向list中添加元素

list有一个append方法,可以增加元素。以l这个列表为例,调用的方法是:

l.append(1024)

输出l,你会看到[123, 'everyday', 0.618, True, 1024],1024被添加到了l,成为最后一个元素。(第一个元素在上一步被改成了123)

然后同样可以用l[4]得到1024。

4. 删除list中的元素

删除list中的某一个元素,要用到del:

del l[0]

输出l,得到['everyday', 0.618, True, 1024]。这时候再调用l[0],会得到'everyday',其他元素的序号也相应提前。

list有两类常用操作:索引(index)和切片(slice)。

昨天我们说的用[]加序号访问的方法就是索引操作。

除了指定位置进行索引外,list还可以处理负数的索引。继续用昨天的例子:

l = [365, 'everyday', 0.618, True]

l[-1]表示l中的最后一个元素。

l[-3]表示倒数第3个元素。

切片操作符是在[]内提供一对可选数字,用:分割。冒号前的数表示切片的开始位置,冒号后的数字表示切片到哪里结束。同样,计数从0开始。

注意,开始位置包含在切片中,而结束位置不包括。

l[1:3]

得到的结果是['everyday', 0.618]。

如果不指定第一个数,切片就从列表第一个元素开始。

如果不指定第二个数,就一直到最后一个元素结束。

都不指定,则返回整个列表的一个拷贝。

l[:3]

l[1:]

l[:]

同索引一样,切片中的数字也可以使用负数。比如:

l[1:-1]

得到['everyday', 0.618]

你可能感兴趣的:(操作list)