Python序列之list和tuple常用方法以及注意事项
sequence 序列 sequence(序列)是一组有顺序的对象的集合。序列可以包含一个或多个元素,也可以没有任何元素。 我们之前所说的基本数据类型,都可以作为序列的对象。对象还可以是另一个序列。序列有两种:list (表) 和 tuple(元组) 。 List 获得list元素的个数: 复制代码 代码如下: >>> lst=['更新慢','python',5.44,False] >>> len(lst) 4 引用访问时索引是从0开始,注意不要越界: 复制代码 代码如下: >>> lst[0] '更新慢' >>> lst[1] 'python' >>> lst[2] 5.44 >>> lst[3] False >>> lst[4] Traceback (most recent call last): File "<pyshell#30>",line 1,in <module> lst[4] IndexError: list index out of range 用-1做索引,直接获取最后一个元素: 复制代码 代码如下: >>> lst[-1] False >>> lst[-2] 5.44 >>> lst[-3] 'python' >>> lst[-4] '更新慢' >>> lst[-5] Traceback (most recent call last): File "<pyshell#35>",in <module> lst[-5] IndexError: list index out of range 因为list是一个可变的有序表,所以,可以往list末尾追加元素: 复制代码 代码如下: >>> lst.append('加我一个') >>> lst ['更新慢',False,'加我一个'] 一次追加多个元素: 复制代码 代码如下: >>> lst.extend(['A','B','C']) >>> lst ['更新慢','加我一个','A','C'] 要删除list末尾的元素,用pop()方法: 复制代码 代码如下: >>> lst.pop() 'C' >>> lst ['更新慢','B'] 删除指定位置的元素,用pop(i)方法,其中i是索引位置: 复制代码 代码如下: >>> lst.pop(0) '更新慢' >>> lst ['python','A'] list元素替换,可以直接赋值给对应的索引位置: 复制代码 代码如下: >>> lst[-1]='100' >>> lst ['python','100'] list元素也可以是另一个list,插入的那个list只算一个元素: 复制代码 代码如下: >>> lst.append(lst1) >>> lst ['python','100',['666','QWER']] >>> len(lst) 6 Tuple Tuple一旦初始化就不能修改。字符串是一种特殊的元素,因此可以执行元组的相关操作。 复制代码 代码如下: >>> str='该睡觉了,晚安!' >>> print (str[:7]) 该睡觉了,晚安 不可变的tuple意义就在于因为不可变,所以代码更安全。如果可能,能用tuple就尽量用tuple。 复制代码 代码如下: >>> tuple=('1','2','3') >>> tuple[0]=6 Traceback (most recent call last): File "<pyshell#62>",in <module> tuple[0]=6 TypeError: 'tuple' object does not support item assignment 定义一个空tuple: 复制代码 代码如下: >>> tuple1=() >>> tuple1 () 注意,要定义一个只有1个元素的tuple: 复制代码 代码如下: >>> tuple2=(666,) >>> tuple2 (666,) #正确的 >>> tuple3=(666) >>> tuple3 666 #错误的,只定义了666这个数 注意:Tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。 复制代码 代码如下: >>> l=['CCTV-5','HI'] >>> tuple4=('UFO','HACK',l) >>> tuple4 ('UFO',['CCTV-5','HI']) >>> l[1]='我先变一下' >>> tuple4 ('UFO','我先变一下']) 所以尽量避免这种套用。 当日小结 掌握List和Tuple的常用方法以及注意事项。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |