标签:ever pen 就是 log 理解 rem 反转 指定 name
一、列表
定义列表
>>> names = [‘a‘,‘b‘,‘c‘,‘d‘] >>> names [‘a‘, ‘b‘, ‘c‘, ‘d‘]
通过下标获取列表的各个值,可以从左边开始计数,下标为正数从0开始,也可以从右边开始计数从-1开始
>>> names [‘a‘, ‘b‘, ‘c‘, ‘d‘] >>> names[2] ‘c‘ >>> names[-1] ‘d‘
列表的切片:可以一次性获取多个元素,原则为顾头不顾尾,表示后面的那个索引不包括在内
>>> names [‘a‘, ‘b‘, ‘c‘, ‘d‘] >>> names[1:3] [‘b‘, ‘c‘] >>> names[-3:-1] [‘b‘, ‘c‘] >>> names[-3:] [‘b‘, ‘c‘, ‘d‘] >>> names[::2] #后面的2表示步长 [‘a‘, ‘c‘]
列表增加元素
>>> names [‘a‘, ‘b‘, ‘c‘, ‘d‘] >>> names.append(‘e‘) #表示在末尾追加元素 >>> names [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘] >>> names.insert(1,‘A‘) #表示在指定位置插入元素 >>> names [‘a‘, ‘A‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]
列表修改元素
>>> names [‘a‘, ‘A‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘] >>> names[1]=‘B‘ >>> names [‘a‘, ‘B‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]
列表删除元素
>>> del names[1] #删除指定位置的元素 >>> names [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘] >>> names.remove(‘c‘) #删除指定值得元素 >>> names [‘a‘, ‘b‘, ‘d‘, ‘e‘] >>> names.pop() #删除最后一个元素并返回该值 ‘e‘ >>> names [‘a‘, ‘b‘, ‘d‘] >>> names.pop(0) #删除指定位置的元素并返回该值 ‘a‘ >>> names [‘b‘, ‘d‘]
列表的扩展
>>> names [‘b‘, ‘d‘] >>> names [‘b‘, ‘d‘] >>> b=[1,2,3] >>> names.extend(b) >>> names [‘b‘, ‘d‘, 1, 2, 3]
列表的拷贝(注意浅复制和深复制)
>>> names [‘b‘, ‘d‘, 1, 2, 3] >>> name1=names #这样的复制只是两个变量指向同一个地址,当一个发生改变,另一个也会改变 >>> name1 [‘b‘, ‘d‘, 1, 2, 3] >>> names[1]=‘A‘ >>> names [‘b‘, ‘A‘, 1, 2, 3] >>> name1 [‘b‘, ‘A‘, 1, 2, 3] ------------------------------------------------------------------ >>> names [‘b‘, [‘A‘, ‘B‘, ‘C‘], 1, 2, 3] >>> names2 = names.copy() #这种情况属于浅复制,只会复制第一层的索引,也就是说只会复制出当前的值,至于当前值里面的值得可以被修改的,比如下面的列表里面的那个列表就发生了修改,而列表中的第一个值没有改变 >>> names2 [‘b‘, [‘A‘, ‘B‘, ‘C‘], 1, 2, 3] >>> names[0]=1 >>> names[1][1]=‘hello‘ >>> names [1, [‘A‘, ‘hello‘, ‘C‘], 1, 2, 3] >>> names2 [‘b‘, [‘A‘, ‘hello‘, ‘C‘], 1, 2, 3] #除了上述的浅复制还有如下几种方法 >>> names=[1,2,3,4] >>> import copy #通过导入copy模块 >>> name1 = copy.copy(names) >>> name1 [1, 2, 3, 4] >>> name2=names[:] >>> name2 [1, 2, 3, 4] >>> name3 = list(names) >>> name3 [1, 2, 3, 4] ------------------------------------------------------------------ >>> names [1, [‘a‘, ‘b‘], 3, 4] >>> import copy >>> name1=copy.deepcopy(names) #使用copy模块中的deepcopy方法进行深复制,从下面的结果看来,值都不会发生改变 >>> name1 [1, [‘a‘, ‘b‘], 3, 4] >>> names[0]=‘A‘ >>> names[1][1]=‘B‘ >>> names [‘A‘, [‘a‘, ‘B‘], 3, 4] >>> name1 [1, [‘a‘, ‘b‘], 3, 4]
列表元素的统计
>>> names=[1,2,1,3,4,3,2,1] >>> names.count(1) 3
列表的 排序和反转
>>> names=[1,2,1,3,4,3,2,1] >>> names.sort() >>> names [1, 1, 1, 2, 2, 3, 3, 4] >>> names.reverse() >>> names [4, 3, 3, 2, 2, 1, 1, 1]
列表获取下标
>>> names=[‘a‘,‘b‘,‘c‘] >>> names.index(‘b‘) 1
二、元组
元组可以理解为不可变的列表,用小括号定义,并且只有两个方法index和count,操作如下
>>> names=(‘a‘,‘b‘,‘c‘,‘c‘) >>> names.count(‘c‘) 2 >>> names.index(‘b‘) 1
标签:ever pen 就是 log 理解 rem 反转 指定 name
原文地址:http://www.cnblogs.com/zsql/p/7777693.html