同属于一个列表的数据,可以是不同的类型 特色:存储于用一个列表的数据都是以数字来作为索引的,即作为操作存取其中各个元素的依据。 a_list 0 1 2 3 4 int int int int int 1 3 5 7 9 索引分别为 0,1,2,3,4 每个元素可有自已的类型,均为int,内容分别是 1、3、5、7、9 a_list = [ 1,3,5,7,9 ] 数字列表 >>> a_list=[1,3,5,7,9] >>> a_list [1, 3, 5, 7, 9] >>> a_list[0] 1 字符串列表 >>> str_list=['P','y','t','h','o','n'] >>> str_list ['P', 'y', 't', 'h', 'o', 'n'] >>> str_list[2] 't' 字符串split 方法 >>> str_msg="I Love Pyton" >>> b_list=str_msg.split() >>> b_list ['I', 'Love', 'Pyton'] 一个英文句子拆成字母所组成的列表,用list() 函数, >>> str_msg="I Love Pyton" >>> c_list=list(str_msg) >>> c_list ['I', ' ', 'L', 'o', 'v', 'e', ' ', 'P', 'y', 't', 'o', 'n'] >>> 同一个列表中可以用不同的数据类型,列表中也可以有其他的列表 >>> k1=['book',10] >>> k2=['campus',15] >>> k3=['cook',9] >>> k4=['Python',26] >>> keywords=[k1,k2,k3,k4] >>> keywords [['book', 10], ['campus', 15], ['cook', 9], ['Python', 26]] >>> keywords[2] ['cook', 9] >>> keywords[2][0] 'cook' >>> keywords[2][1] 9 >>> 可以使用”+“运算把两个列表放在一起,还可以 检测某一个数据是否在列表之中 >>> "Python" in k4 True >>> k4 in keywords True >>> ["Python",26] in keywords True >>> keywords+k1+k2 [['book', 10], ['campus', 15], ['cook', 9], ['Python', 26], 'book', 10, 'campus', 15] >>>

比较常用的操作方法和函数

列表表达式 操作结果说明 lst * n 把lst类表重复n次 lst[n1:n2] 把索引组n1到n2的列表内容取出,组成一个列表 lst[n1:n2:k] 同上,但取出间隔为k del lst[n1:n2] 删除索引值n1到n2之间的元素 lst[n1:n2]=n 把索引值n1到n2之间的元素设置为n lst[n1:n2:k]=n 同上,但间隔为k del lst[n1:n2:k] 删除索引值n1到n2之间的元素,但间隔为k len(lst) 放回类表的个数 min(lst) 返回列表的最小值 max(lst) 返回列表的最大值 sum(lst) 返回列表的求和值 lst.index(n) 返回列表中第一个出现n的索引值 lst.count(n) 计算出n 在列表中出现的次数

>>> x=list(range(10)) >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> x*2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> y=x[1:7] >>> y [1, 2, 3, 4, 5, 6] >>> y=x[1:7:2] >>> y [1, 3, 5] >>> del x[1:7] >>> x [0, 7, 8, 9] >>> x=list(range(10)) >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> del x[1:7:2] >>> x [0, 2, 4, 6, 7, 8, 9] >>> x=list(range(10)) >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> len(x) 10 >>> max(x) 9 >>> min(x) 0>>> x=list(range(3)) >>> x [0, 1, 2] >>> sum(x) 3 >>> msg="Here is the string" >>> lst=list(msg) >>> lst ['H', 'e', 'r', 'e', ' ', 'i', 's', ' ', 't', 'h', 'e', ' ', 's', 't', 'r', 'i', 'n', 'g'] >>> lst.index('e') 1 >>> lst.count('e') 3 >>>

列表操作方法: (其中lst表示列表变量,x表示列表元素或是另外一个列表变量,n为数值) lst.append(x) 将x视为一个元素,附加到列表的后面 lst.extend(x) 将x 中的所有元素附加到列表的后面 lst.insert(n,x) 把x插入到索引值为n的地方 lst.pop() 弹出列表中最后一个元素,可以参数指定特定的索引 lst.remove(x) 从列表中删除第一个出现的x lst.reverse() 反转列表的顺序 lst.sort() 将列表的元素内容加以排序

append 与 extend 区别 >>> lsta=[1,2,3,4,5] >>> exb=[5,5,5,5] >>> lsta.extend(exb) >>> lsta [1, 2, 3, 4, 5, 5, 5, 5, 5] >>> lsta=[1,2,3,4,5] >>> lsta.append(exb) >>> lsta [1, 2, 3, 4, 5, [5, 5, 5, 5]] pop操作 >>> lst=[0,1,2,3,4,5] >>> lst.append(9) >>> lst.append('x') >>> lst [0, 1, 2, 3, 4, 5, 9, 'x'] >>> lst.pop() 'x' >>> lst.pop(2) 2 >>> lst [0, 1, 3, 4, 5, 9] >>> >>> cars=['bwm','audi','toyota','subaru'] >>> cars.sort() >>> cars ['audi', 'bwm', 'subaru', 'toyota'] >>> cars.reverse() >>> cars ['toyota', 'subaru', 'bwm', 'audi'] >>> >>> cars.remove('bwm') 用于不知道具体的索引位置,只知道具体的值 >>> cars ['toyota', 'subaru', 'audi'] >>> cars.insert(1,'haima') 指定位置插入
>>> cars ['toyota', 'haima', 'subaru', 'audi'] >>>

>>> cars ['toyota', 'haima', 'subaru', 'audi'] >>> for x in cars: ... print x ... toyota haima subaru audi >>> for x in cars: ... print x.title() ... Toyota Haima Subaru Audi >>> 通过循环创建所需列表 >>> atest=[] >>> for value in range(1,11,2): ... a=value**2 ... atest.append(a) ... >>> print atest [1, 9, 25, 49, 81]

>>> atest2=[value**2 for value in range(1,11,2)] >>> print atest2 [1, 9, 25, 49, 81] >>>

>>> list_2d=[[0 for i in range(5)]for i in range(5)] >>> list_2d [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] >>> list_2d[0].append(3) >>> list_2d[2].append(7) >>> list_2d [[0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] >>>