Python列表_运算符_切片_方法
一,列表运算符
加号+运算符可以把列表拼接在一起:
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = a + b
>>> c
[1, 2, 3, 4, 5, 6]
星号*运算符可以将列表重复指定的次数:
>>> [0] * 4
[0, 0, 0, 0]
>>> [1] * 3
[1, 1, 1]
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
二,列表切片
切片操作符也可以用到列表上:
>>> t = ['a', 'b', 'c', 'd', 'e', 'f']
>>> t[1:3]
['b', 'c']
>>> t[0:2]
['a', 'b']
>>> t[1:]
['b', 'c', 'd', 'e', 'f']
>>> t[:3]
['a', 'b', 'c']
>>> t[:-1]
['a', 'b', 'c', 'd', 'e']
>>> t[-1:]
['f']
在切片运算中,如果你省略了第一个索引,切片就会从头开始。如果省略了第二个,切片就会一直走到末尾。所以如果你把两个都省略了,这个切片就是整个列表的一个复制了。
>>> t = ['a', 'b', 'c', 'd', 'e', 'f']
>>> t[:]
['a', 'b', 'c', 'd', 'e', 'f']
因为列表是可以修改的,所以在进行运算修改列表之前,做个复制来备份经常是很有必要的。
切片运算符放到赋值语句等号左边的时候可以对多个元素进行更新:
>>> t = ['a', 'b', 'c', 'd', 'e', 'f']
>>> t[0:2] = ['x', 'y'] #对第0个,第1个元素重新赋值;注意这里是索引2对应的元素是不会被修改的。
>>> t
['x', 'y', 'c', 'd', 'e', 'f']
三,列表的方法
Python 为操作列表提供了很多方法。比如,
1. append就可以在列表末尾添加一个新的元素:
>>> m = ['a', 'b', 'c']
>>> m.append('d')
>>> m
['a', 'b', 'c', 'd']
2.extend 使用另一个列表做参数,然后把所有的元素添加到一个列表上。
>>> x1 = ['a', 'b', 'c']
>>> x2 = ['d', 'e']
>>> x1.extend(x2)
>>> x1
['a', 'b', 'c', 'd', 'e']
>>> x2
['d', 'e']
上面这个例子,x1做了修改,x2没有变动。
3.sort 把列表中的元素从低到高排列(按照 ASCII码的大小从小到大):
>>> n = ['j', 'k', 'a', 'w', 'p']
>>> n.sort()
>>> n
['a', 'j', 'k', 'p', 'w']
大多数列表的方法都是无返回值的,虽然这些方法都对列表进行修改,但返回的是空。
即使你写出了一个 n=n.sort(),也是没有返回的:
>>> n = ['j', 'k', 'a', 'w', 'p']
>>> n.sort()
>>> n
['a', 'j', 'k', 'p', 'w']
>>> n = n.sort()
>>> n
结束。