序列相加:
[1,2] + [3,4] == [1,2,3,4] #字符串也是序列的一种 'hello' + 'world' == 'hello world' #但是序列相加只限于相同类型的序列间相加。所以 [1] + 'haha' #这样是会报错的
序列相乘:
#数字乘以序列会产生新的序列: 'python' * 3 == 'pythonpythonpython' [1,2] * 3 == [1,2,1,2,1,2] #创建一个占用n个元素空间的列表: mylist = [None] * 4 #这样mylist就等于 [None,None,None,None] #这样你可以写 mylist[3] = 'xxx' #但是如果不这样用None占位的话: mylist2 = [] mylist2[3] = 'xxx' #这样会报错,超出范围 #更应该注意:None并不代表什么都没有,他也是一个数据类型
len() max() min() 函数:
#三个函数都接受列表作为参数 l = [1,2,3] #len返回l的长度 len(l) == 3 #max返回l中最大值 #min返回最小值 max(l) == 3 min(l) == 1
序列的改变:
#以下都是list的方法: l.append('xx') #向列表末尾追加一个元素 l.count('xx') #返回某元素出现次数 l.extend(l2) #向列表末尾连接一个列表 #实际上 + 运算也可以实现相同操作,但extend修改原列表,+则产生了新列表,这与java类似。当数据过大,使用extend会很有效。 l.insert(0, 'xxx') #在指定位置插入元素 l.pop() #移除元素并返回该元素,缺省从末尾弹出,但可以手动指定索引位置 I.pop(0) #从首位弹出 #可使用insert(0, 'xxx') pop()来模拟 FIFO(队列,先进先出) l.remove('xx') #移除列表中第一个匹配项 l.reverse() #反向存储元素,对应的普通方法:reversed() l.sort() #排序,对应的普通方法:sorted()
注意一点:
#复制一个列表的时候 x = [1,2,3] y = x #这样得到的 y 只是[1,2,3]的另一个引用而已,改变x会影响 y #正确的方式是,有效利用序列切片 y = x[:] #x从头到尾都切下来给y