Python学习之路14——列表

列表

列表类似于字符串,是序列式的数据类型,可以通过下标或者切片操作来访问某一个或者某一块连续的元素。与字符串不相同的是,字符串只能由字符组成,而且是不可变类型,而列表里面的元素可以是任意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,则列表以反序排列






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值