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
http://shenzhen.offcn.com/
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。