python 列表学习
一、创建一个列表(list)_使用逗号分隔不同的数据项,使用方括号括起来。
list = [1,2,3,4,5,6,7]
与字符串的索引一样,列表索引从 0 开始,列表可以截取、组合。
二、访问列表中的值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符
list1 = [‘physics’,’chemistry’,1997,2000] list2 = [1,2,3,4,5,,6,7] print(list1[0]) print(list2[1:5])
三、更新列表
你可以对列表的数据项进行修改或者是更新,你也可以使用append()方法来添加列表项
list = [‘physics’,’chemistry’,1997,2000] print(“Value available at index 2 :”) print(list[2]) list[2] = 2001 pirnt(“New value available at index 2 :”) print(list[2])
1.append() 追加单个元素到list的尾部,只接受一个参数,参数可以是任何数据类型, 被追加的元素在list 中保持着原结构类型。
*此元素如果是一个list,那么list作为一个整体追加。(注意append()和extend()的区别)
list1 = [‘a’,’b’]
list1.append(‘c’)
list1 输出 [ ‘a’ , ‘b’ , ‘c’ ]
2.extend() 将一个list中的每一个(整体)元素添加到另一个list中(连接两个list)
>>> list1 [ ‘a’ , ‘b’ , ‘c’ ] >>>list2 [ ‘d’ , ‘e’ ] >>> list1.extend(list2) >>> list1 [ ‘a’ , ‘b’ , ‘c’ , ‘d’ , ‘d’ , ‘e’ ]
3.insert() 将一个元素插入到list指定位置中,insert(1 , ‘g’)第一个是索引点,第二个是插 入的元素。
>>> list1 [ ‘a’ , ‘b’ , ‘c’ , ‘d’ ] >>>list1.insert( 1 ,’x’ ) >>>list1 [ ‘a’ , ‘x’ , ‘b’ , ‘c’ , ‘d’ ]
+ 号,将两个list相加,会返回一个新的list对象,注意区别:前三者函数可对list添加操作,但没有返回值,是直接改变原数据对象, 注意:将两个list相加,需要创建新的list对象,从而需要消耗额外的内存,特别是当list较大时,尽量不要使用“+”来添加list,而应该尽可能使用List的append()方法。
注意:将两个list相加,需要创建新的list对象,从而需要消耗额外的内存,特别是当list较大时,尽量不要使用“+”来添加list,而应该尽可能使用List的append()方法。
>>>list1 [ ‘a’ , ‘x’ , ‘b’ , ‘c’ , ‘d’ ] >>>list2=[ ‘y’ , ‘z’ ] >>>list3=list1+list2 >>>list3 [ ‘a’ , ‘x’ , ‘b’ , ‘c’ , ‘d’ , ‘y’ , ‘z’ ]
四、删除list元素
可以使用 del 语句来删除list的元素
五、python列表脚本操作符
列表对+和*的操作符与字符串相似,+号用于组合列表,*号用于重复列表
Python 表达式 |
结果 |
描述 |
len([1, 2, 3]) |
3 |
长度 |
[1, 2, 3] + [4, 5, 6] |
[1, 2, 3, 4, 5, 6] |
组合 |
['Hi!'] * 4 |
['Hi!', 'Hi!', 'Hi!', 'Hi!'] |
重复 |
3 in [1, 2, 3] |
True |
元素是否存在于列表中 |
for x in [1, 2, 3]: print x, |
1 2 3 |
迭代 |
六、python列表截取
Python 表达式 |
结果 |
描述 |
L[2] |
'SPAM!' |
读取列表中第三个元素 |
L[-2] |
'Spam' |
读取列表中倒数第二个元素 |
L[1:] |
['Spam','SPAM!'] |
从第二个元素开始截取列表 |
七、python 列表操作的函数和方法
函数 |
作用 |
list.append(‘元素’) |
list尾部添加一个元素 |
list.extend([‘元素1’,’2’,’N’]) |
list尾部添加一个新的list序列 |
list.insert( K , 元素 ) |
list的k位置添加元素 |
list.clear() |
清空list序列内容 |
list.copy() |
复制list序列 |
list(seq) |
将seq元组转为列表 |
list.remove(k) |
将k从list中删除 |
del.list([k]) |
删除k位置的内容(空则清空整个list) |
list.pop(k) |
提取list中k位置的内容 |
list.count(k) |
查找k值在list中的次数 |
list.index(k,i,j) |
查找i - j之间第一个k元素的位置 |
list.reverse() |
顺序翻转list序列 |
list.sort() |
正序排列list内容 |
八、元祖1.元组的值,不能改变,是一个不可便的列表,可以通过访问下标和切片的方式查询,但是想要修改必须先转成list#tup1 = ('physics', 'chemistry', 1997, 2000) #定义元祖
#print tup1[1] #打印结果:chemistry #tup1[0] = 100 #这种修改方式是非法的 #tup2=list(tup1) #想要修改元祖,必须先将其转换成list才可以 #print tup2 #打印结果:['physics', 'chemistry', 1997, 2000] #tup2[2] = '1989' #print tup2 #打印结果:['physics', 'chemistry', 1989, 2000]
2.元祖只有count和index方法
names=('mike','mark','candice','laular','mark','msr') print(names.count('mark')) #打印结果:2 print(names.index('msr')) #打印结果: