Python中列表和元组的相关语句和方法讲解
列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数―― 列表就像一个线性容器,但是比C++的 lis t扩展多得多 列表示例: >>> L1 = [1,2,3] >>> type(L1) <class 'list'> >>> L1 = [1,'a',1.4] >>> L1 [1,1.4] >>> L1 = [ ['sub'],1,'n'] >>> L1 [['sub'],'n'] list的索引是也是从0开始,但也可以从后访问,L1[-1] 表示L1中的最后一个元素 >>> L1 [['sub'],'n'] >>> L1[0] ['sub'] >>> L1[-1] 'n' 对列表可以进行切片,切片的操作类似于对函数的调用,返回值一个新的列表 >>> L1 = [1,3,4,5,6] >>> L1[1:3] [2,3] >>> L1[:3] [1,3] >>> L1[1:] [2,6] >>> L1[-3:-1] [4,5] >>> L2 = L1[:] >>> L2 [1,6] >>> L1[::2] [1,5] >>> L1[::-1] [6,1]
列表可以做加法,做乘法,字符串也可以看做一个字符的列表 >>> L1 = [1,2] >>> L2 = [3,4] >>> L1 + L2 [1,4] >>> 5 * L1 [1,2] in语句,判断一个对象是否在一个字符串/列表/元组里 >>> L1 [1,2] >>> 3 in L1 True >>> 5 in L1 False >>> 3 not in L1 False >>> 5 not in L1 True >>> len(L1) 5 >>> max(L1) 4 >>> min(L1) 1 操作: >>> #赋值 >>> L1[1] = 5 >>> L1 [1,2] >>> #删除 >>> del L1[1] >>> L1 [1,2] >>> #分片赋值 >>> L1[2:] = [6,7,8] >>> L1 [1,6,8] >>> L1[1:3] = [] >>> L1 [1,8] list 的函数: >>> L1 [1,8] >>> L1.append(3) >>> L1 [1,8,3] >>> L1.append([4,5]) >>> L1 [1,[4,5]] >>> 4 in L1 False
>>> L1 = [1,8] >>> L1.count(2) 1 >>> L1.count(3) 0
>>> L1 [1,8] >>> L1.extend([4,5] >>> 4 in L1 True
>>> L1.index(2) 1 insert( i,x) 在位置i 插入元素x >>> L1 [1,5] >>> L1.insert(0,'a') >>> L1 ['a',5] >>> L1.insert(-1,'b') >>> L1 ['a','b',5] pop( i ) 删除位置 i 的元素并将它返回,默认可以不写 i ,删除最后一个元素,不存在会出错 >>> L1 = [1,8] >>> L1.pop(1) 2 >>> L1 [1,8] >>> L1.pop() 8 >>> L1 [1,7] remove( x ) 移除在 列表中 x 的第一个匹配项,x 不存在会出错 >>> L1.remove(2) >>> L1 [1,8]
>>> L1 = [1,8] >>> L1.reverse() >>> L1 [8,1]
>>> L1 [8,1] >>> L1.sort() >>> L1 [1,8] >>> L1.sort(reverse = True) >>> L1 [8,1] >>> L1 = ['a','ccc','abcd','bc','cd','abc'] >>> L1.sort(key = len) >>> L1 ['a','abc','abcd'] 元组(tuple) >>> x = (1,) >>> type(x) <class 'tuple'> >>> x = (1) >>> type(x) <class 'int'> 元组可转换成列表,反之亦然。 >>> x = [1,1] >>> y = (1,1) >>> type(x) <class 'list'> >>> type(y) <class 'tuple'> >>> z = tuple(x) >>> z (1,1) >>> z = list(y) >>> z [1,1] 可以用列表 或 元组 进行一次多赋值: >>> L1 = (1,4) >>> (x,y,z) = L1 >>> x 1 >>> y 2 >>> z 4 >>> L1 = [1,4] >>> (x,z) = L1 >>> x 1 >>> y 2 >>> z 4
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |