Python学习之路14——列表

来源:互联网 发布:linux 重启服务器命令 编辑:程序博客网 时间:2024/06/06 17:29

列表

列表类似于字符串,是序列式的数据类型,可以通过下标或者切片操作来访问某一个或者某一块连续的元素。与字符串不相同的是,字符串只能由字符组成,而且是不可变类型,而列表里面的元素可以是任意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 frist1 second2 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 Ab upper is Bc 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)向列表中的添加一个对象objlist.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处插入对象objlist.pop(index=-1)删除并返回指定位置的对象,默认是最后一个对象list.remove(obj)从列表中删除对象obj
list.reverse()原地翻转列表list.sort(func=None,key=None,reverse=False)以指定的方式排序列表中的成员,如果func和key参数指定,则按照指定的方式比较各个元素,如果reverse标志被置为True,则列表以反序排列





0 0
原创粉丝点击