Python内置类型——list
2015-08-10 11:01
477 查看
list(列表)是Python内置的可变序列(Sequence)类型,list的对象的方法也都是就地(in-place)更改调用这些方法的列表对象,
List的一些细节
可以直接为list的某个下标赋值,改变list中指定下标位置的值,例如: l[2] = 'hello world' ;
list切片可以作为赋值语句的左值,此时赋值语句的右值必须是一个可迭代的对象:如果切片是extended模式(一端不封口,如 l[1:] ),那么赋值语句的左右值必须等长;如果切片不是extended模式,那么右值的可迭代对象可以是任意长度
将[]作为右值将直接将左值对应的切片置空;
将一个空的切片作为左值意味着将右值的可迭代对象插入到左值指定的位置,例如:
等效于将['a', 'b']插入到下标5之前。
使用覆盖整个列表的切片 l[:] 作为左值将会整个替换列表l的值。
列表上定义的 + 和 * 运算都是就地的,所以可以对list对象使用augmented assignment语句直接改变目标列表的值:
等效于将可迭代对象x1的内容追加到x的结尾;
而:
则等效于将n-1份x的拷贝追加到x的结尾。
List的内置方法
non-mutating方法
这些方法并不会改变调用他们的列表对象,
l.count(x)
统计l中x出现的次数;
l.index(x)
返回x在l中首次出现的下标,如果l中没有x,则抛出ValueError
mutating方法
下面的方法将直接改变调用他们的列表对象,
l.append(x)
将x追加到l的末尾;
l.extends(s)
将可迭代对象s中的所有item追加到l的队尾;
l.insert(i, x)
将x插入到l中下标i的位置;
l.remove(x)
从l中删除x第一次出现,如果l中没有x,抛出ValueError
l.pop([index])
将l中下标为index的值返回并从列表中删除,省略index的话,直接返回列表末尾的值;
如果l为空或者指定的index越界,抛出IndexError
l.reverse()
就地反转列表l
l.sort(cmp=cmp, key=None, reverse=False)
就地对列表l进行排序,对于l中的每一个item,使用cmp()函数对他们进行比较,从而判断他们之间的大小关系。不使用任何参数调用将使用Python默认的排序函数cmp()对列表中的item进行比较。
使用List实现Stack和Queue
List的一些细节
可以直接为list的某个下标赋值,改变list中指定下标位置的值,例如: l[2] = 'hello world' ;
list切片可以作为赋值语句的左值,此时赋值语句的右值必须是一个可迭代的对象:如果切片是extended模式(一端不封口,如 l[1:] ),那么赋值语句的左右值必须等长;如果切片不是extended模式,那么右值的可迭代对象可以是任意长度
将[]作为右值将直接将左值对应的切片置空;
将一个空的切片作为左值意味着将右值的可迭代对象插入到左值指定的位置,例如:
l[5:5] = ['a', 'b']
等效于将['a', 'b']插入到下标5之前。
使用覆盖整个列表的切片 l[:] 作为左值将会整个替换列表l的值。
列表上定义的 + 和 * 运算都是就地的,所以可以对list对象使用augmented assignment语句直接改变目标列表的值:
x = [] x += x1
等效于将可迭代对象x1的内容追加到x的结尾;
而:
x = [] x *= n
则等效于将n-1份x的拷贝追加到x的结尾。
List的内置方法
non-mutating方法
这些方法并不会改变调用他们的列表对象,
l.count(x)
统计l中x出现的次数;
l.index(x)
返回x在l中首次出现的下标,如果l中没有x,则抛出ValueError
mutating方法
下面的方法将直接改变调用他们的列表对象,
l.append(x)
将x追加到l的末尾;
l.extends(s)
将可迭代对象s中的所有item追加到l的队尾;
l.insert(i, x)
将x插入到l中下标i的位置;
l.remove(x)
从l中删除x第一次出现,如果l中没有x,抛出ValueError
l.pop([index])
将l中下标为index的值返回并从列表中删除,省略index的话,直接返回列表末尾的值;
如果l为空或者指定的index越界,抛出IndexError
l.reverse()
就地反转列表l
l.sort(cmp=cmp, key=None, reverse=False)
就地对列表l进行排序,对于l中的每一个item,使用cmp()函数对他们进行比较,从而判断他们之间的大小关系。不使用任何参数调用将使用Python默认的排序函数cmp()对列表中的item进行比较。
使用List实现Stack和Queue
相关文章推荐
- win7下编译python源码
- 关于Windows系统下,Python读取文件的问题。
- win32下利用python操作printer
- Python Paste.deploy 笔记
- python 清理mail spool 下的小脚本
- 递归
- 你也可以有自己的天气预报啦!
- 0.python基本算法
- Solaris 10u11 安装python2.7.10
- python--获取网页图片
- python列表排序
- Python之Window环境搭建
- Python于*args 和**kwargs使用
- 零基础学python-1.6 错误的程序
- 零基础学python-1.6 错误的程序
- 正则匹配不包含某字符串(Python)
- 使用python执行复制时遇到的一点问题
- [译] 12步轻松搞定python装饰器 - 简书
- python实现爬取千万淘宝商品的方法_python_脚本之家
- 值得关注的10个python语言博客 - WEB开发者