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

 

 

 

 

你可能感兴趣的:(python)