Python中的列表内建了许多方法。在下文中,使用“L”代表一个列表,使用“x”代表方法的参数,以便说明列表的使用方法。
1 append()方法
列表的append()方法用于将一个项添加到列表的末尾,L.append(x)等价于L[len(L):] = [x]。
例如,使用append()方法分别将'cow'和'elephant'添加到animals列表的末尾:
- >>> animals = ['cat', 'dog', 'fish', 'dog']
- >>> animals.append('cow') # 等价于animals[4:]=['cow']
- >>> animals
- ['cat', 'dog', 'fish', 'dog', 'cow']
- >>> animals.append('elephant') # 等价于animals[5:]=['elephant']
- >>> animals
- ['cat', 'dog', 'fish', 'dog', 'cow', 'elephant']
2 ()方法
列表的()方法用于将一个项插入指定索引的前一个位置。L.(0, x)是将x插入列表的最前面,L.(len(L)), x)等价于L.append(x)。
例如,使用()方法分别将'cow'和'elephant'插入animals列表:
- >>> animals = ['cat', 'dog', 'fish', 'dog']
- >>> animals.(0, 'cow')
- >>> animals
- ['cow', 'cat', 'dog', 'fish', 'dog']
- >>> animals.(3, 'elephant')
- >>> animals
- ['cow', 'cat', 'dog', 'elephant', 'fish', 'dog']
3 extend()方法
列表的extend()方法用于将可迭代对象的所有项追加到列表中。L.extend(iterable)等价于L[len(L):] = iterable。extend()和append()方法的区别是,extend()方法会将可迭代对象“展开”。
例如,分别使用append()方法和extend()方法在animals列表后面追加一个包含'cow'和'elephant'的列表:
- >>> animals = ['cat', 'dog', 'fish', 'dog']
- >>> animals.append(['cow', 'elephant']) # 此处append()参数是一个列表
- >>> animals
- ['cat', 'dog', 'fish', 'dog', ['cow', 'elephant']]
- >>> animals = ['cat', 'dog', 'fish', 'dog']
- >>> animals.extend(['cow', 'elephant']) # 此处extend()参数也是一个列表
- >>> animals
- ['cat', 'dog', 'fish', 'dog', 'cow', 'elephant']
4 remove()方法
列表的remove()方法用于移除列表中指定值的项。L.remove(x)移除列表中第一个值为x的项。如果没有值为x的项,那么会抛出ValueError异常。
例如,使用remove()方法移除animals列表中值为'dog'的项:
- >>> animals = ['cat', 'dog', 'fish', 'dog']
- >>> animals.remove('dog')
- >>> animals
- ['cat', 'fish', 'dog']
- >>> animals.remove('dog')
- >>> animals
- ['cat', 'fish']
- >>> animals.remove('dog')
- Traceback (most recent call last):
- File "
" , line 1, in- ValueError: list.remove(x): x not in list
5 pop()方法
列表的pop()方法用于移除列表中指定位置的项,并返回它。如果没有指定位置,那么L.pop()移除并返回列表的最后一项。
例如,使用pop()方法移除animals列表中指定位置的项:
- >>> animals = ['cat', 'dog', 'fish', 'dog']
- >>> animals.pop()
- 'dog'
- >>> animals
- ['cat', 'dog', 'fish']
- >>> animals.pop(2)
- 'fish'
- >>> animals
- ['cat', 'dog']
在调用前面的列表方法后,并没有打印任何值,而pop()方法打印了“弹出”的值。包括append()、()、pop()在内的方法都是“原地操作”。原地操作(又称为就地操作)的方法只是修改了列表本身,并不返回修改后的列表。
在类型转换时使用的int()函数,str()函数都有返回值:
- >>> number = 123
- >>> mystring = str(number) # 将返回值赋给变量mystring
- >>> mystring
- '123'
但是在使用“原地操作”时,大部分则不会有返回值,包括pop()方法也只是返回了被“弹出”的值,并没有返回修改后的列表:
- >>> animals = ['cat', 'dog', 'fish', 'dog']
- >>> new_animals = animals.append('cow')
- >>> print(new_animals)
- None