python 零散记录(二) 序列的相关操作 相加 相乘 改变 复制

序列相加:

[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
上一篇:菜鸟笔记:node.js+mysql中将JSON数据构建为树(递归制作树状菜单数据接口)


下一篇:【C++】C++中的动态内存解析