Python学习之路14——列表
2015-04-01 21:04
489 查看
列表
列表类似于字符串,是序列式的数据类型,可以通过下标或者切片操作来访问某一个或者某一块连续的元素。与字符串不相同的是,字符串只能由字符组成,而且是不可变类型,而列表里面的元素可以是任意Python对象或是用户自己定义的对象。1创建列表并给它赋值
创建列表就和变量赋值一样。或者可以用工厂函数list()来创建列表。>>> myList = [1,2,3, 'a string'] >>> print myList [1, 2, 3, 'a string'] >>> >>> list('foo') ['f', 'o', 'o'] >>>
2访问列表中的值
列表的切片操作和字符串的操作一样。>>> myList [1, 2, 3, 'a string'] >>> myList[0:4] [1, 2, 3, 'a string'] >>> myList[2:4] [3, 'a string'] >>> myList[:3] [1, 2, 3] >>> myList[1:] [2, 3, 'a string'] >>>
3更新列表
你可以通过在等号的左边指定一个索引或者索引范围的方式来更新一个或几个元素,也可以通过append()方法来追加元素到列表中去。>>> myList [1, 2, 3, 'a string'] >>> myList[1] 2 >>> myList[1] = 'update' >>> myList [1, 'update', 3, 'a string'] >>> myList.append('add item') >>> myList [1, 'update', 3, 'a string', 'add item'] >>>
4删除列表中的元素或者列表
要删除列表中的元素,如果你确切的知道要删除元素的索引可以用del语句,否则可以用remove()方法。>>> aList = ['a', 'b', 'c', 'd'] >>> >>> del aList[1] >>> aList ['a', 'c', 'd'] >>> aList.remove('d') >>> aList ['a', 'c'] >>>你还通过pop()方法来删除并从列表中返回一个特定对象。甚至你可以通过del语句直接删除这个列表。
操作符
1标准类型操作符
毫无疑问,标准类型操作符适用于列表。2序列类型操作符
列表的切片[:],连接+,重复操作符*与字符串的操作无异。3列表类型操作符和列表解析
>>> [i * 2 for i in [8, -2, 5]] [16, -4, 10] >>> [i for i in range(8) if i % 2 == 0] [0, 2, 4, 6] >>>
内建函数
1标准类型函数
cmp()列表与字符串cmp()比较的规则类似,从第一个比起,直到最后都不能分出大小,则为平局。
2序列类型函数
len()返回列表的长度
>>> alist = [1, 2, 3, 4] >>> len(alist) 4 >>>
max(), min()
返回列表的最多,最小的元素
>>> str_list = ['abc', 'xyz', 'b'] >>> max(str_list) 'xyz' >>> min(str_list) 'abc' >>>
sorted(), reversed()
sorted()返回排好序的列表,reversed()返回倒序的列表的迭代器
>>> aList = [2, 6, 4, 1, 0, 8] >>> sorted(aList) [0, 1, 2, 4, 6, 8] >>> for i in reversed(aList): ... print i, ... 8 0 1 4 6 2 >>>
enumerate() , zip()
enumerate()返回列表下标与列表元素的组成的新列表的迭代器
zip() 将两个列表的元素一一组成列表,所有的列表组成新的大列表
>>> aTest = ['frist', 'second', 'three'] >>> for i , value in enumerate(aTest): ... print i, value ... 0 frist 1 second 2 three >>> >>> fn = ['a', 'b', 'c'] >>> ln = ['A', 'B', 'C'] >>> for i, j in zip(fn,ln): ... print '%s upper is %s' % (i, j) ... a upper is A b upper is B c upper is C >>>
sum()
sum()返回整个列表的和
>>> test = ['a', 'b', 'c'] >>> sum(test) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' >>> test = [1, 2.0, 3.3] >>> sum(test) 6.3 >>>要注意的是:列表中的元素必须都是整型或浮点型。
列表的内建函数
列表函数 | 作用 |
list.append(obj) | 向列表中的添加一个对象obj |
list.count(obj) | 返回一个对象obj在列表中出现的次数 |
list.extend(seq) | 把序列seq的内容添加到列表中 |
list.index(obj, i=0,j=len(list)) | 返回list[k] ==obj的k值,并且k的范围在i<=k<j;否则引发异常 |
list.insert(index,obj) | 在索引index处插入对象obj |
list.pop(index=-1) | 删除并返回指定位置的对象,默认是最后一个对象 |
list.remove(obj) | 从列表中删除对象obj |
list.reverse() | 原地翻转列表 |
list.sort(func=None,key=None,reverse=False) | 以指定的方式排序列表中的成员,如果func和key参数指定,则按照指定的方式比较各个元素,如果reverse标志被置为True,则列表以反序排列 |
相关文章推荐
- python学习笔记14 list列表数组
- python学习之路4------列表生成器
- 王亟亟的Python学习之路(六)-递归,迭代,列表生成式
- 我的Python学习之路之基本语法-列表和字典
- Python小白学习之路(五)—【类和对象】【列表】【列表相关功能】
- Python学习之路2 - 列表和元组
- Python学习之路15——列表实现栈和队列
- python学习之路4------列表生成器
- python 学习之路(列表,元组)
- python学习之路-字符串(str)和列表(list)的互相转换
- Python学习之路---Python 列表
- python学习之路三——操作列表
- 王亟亟的Python学习之路(六)-递归,迭代,列表生成式
- Python学习之路18——控制语句,迭代器, 列表解析
- 我的python学习之路--列表表达式及匿名函数lambda
- [python学习]列表复制
- 我的python学习之路----Python 3 抓取网页的 N 种方法
- 我的python学习之路----转换位串到utf-8字符串
- python学习笔记---列表和元组
- [Python学习]总结一下Cygwin安装与进阶学习列表