Python包含6种内建的序列:列表,元组,字符串,Unicode,buffer对象,xrange对象。
通用序列操作包括:索引,分片,加,乘,成员资格。
另外还有长度(len),最小值(min),最大值(mix)内建函数
-
列表
基本的列表操作
#创建一个列表 >>> nums = [1,2,3,5] >>> nums [1, 2, 3, 5] #元素赋值 >>> nums[2] = 7 >>> nums [1, 2, 7, 5] >>> #删除元素 >>> del nums[0] >>> nums [2, 7, 5] #list函数(类型)可以根据字符串创建列表 >>> st = list('Hello') >>> st ['H', 'e', 'l', 'l', 'o'] #分片 使用索引访问单个元素,使用分片来访问一定范围的元素 >>> nums = [1,2,3,4,5,6,7,8,9,10] >>> nums[2:6] [3, 4, 5, 6] ##为了让分片能够包含列表的最后一个元素,必须提供 大于最后一个元素索引的索引作为边界 >>> nums[2:10] [3, 4, 5, 6, 7, 8, 9, 10] ##从结尾开始计数 >>> nums[-3:] [8, 9, 10] ##从开始开始计数 >>> nums[:3] [1, 2, 3] ##整个列表 >>> nums[:] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ##步长 >>> nums[0:10:3] [1, 4, 7, 10] >>> nums[::4] [1, 5, 9] >>> nums[::-2] [10, 8, 6, 4, 2] ##分片赋值 >>> name = list('hemin') >>> name ['h', 'e', 'm', 'i', 'n'] >>> name[2:] = list('shen') >>> name ['h', 'e', 's', 'h', 'e', 'n'] ##插入与删除 >>> nums2 = [1,5] >>> nums2[1:1] = [2,3,4] >>> nums2 [1, 2, 3, 4, 5] >>> nums2[1:4] = [] >>> nums2 [1, 5]
列表方法
# append() 追加,append直接修改原来的列表,不是返回修改过的新列表 >>> letters = ['a','b',"c"] >>> letters.append('d') >>> letters ['a', 'b', 'c', 'd'] #count() 统计指定元素出现的次数 letters = list('aabcdeeefggggh') >>> letters.count('g') 4 #extend() 列表末尾追加多个值,或说可以用新列表扩展原列表 >>> letters2 = list('ijklmn') >>> letters.extend(letters2) >>> letters ['a', 'a', 'b', 'c', 'd', 'e', 'e', 'e', 'f', 'g', 'g', 'g', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n'] #注:extend 和 append 直接修改原来的列表,而连接操作会返回一个全新的列表,连接操作比extend方法效率低 >>> a = [1,2,3] >>> b = [4,5,6] >>> a+b [1, 2, 3, 4, 5, 6] >>> a [1, 2, 3]#a没改变 #insert() 插入 >>> nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> nums.insert(2,'two') >>> nums [1, 2, 'two', 3, 4, 5, 6, 7, 8, 9, 10] #pop pop方法会移除列表中的一个元素(根据索引移除) >>> nums.pop()#默认移除最后一个元素 10 >>> nums [1, 2, 'two', 3, 4, 5, 6, 7, 8, 9] >>> nums.pop(3) 3 >>> nums [1, 2, 'two', 4, 5, 6, 7, 8, 9] # remove() remove 方法会移除列表中的一个元素第一个匹配项(根据元素移除) >>> letters = list('abccd') >>> letters.remove('c') >>> letters ['a', 'b', 'c', 'd'] # reverse() 列表元素反向存放 >>> le = list('abc') >>> le.reverse() >>> le ['c', 'b', 'a'] >>> #列表复制 >>> x = [5,4,7] >>> y = x #这样x和y指向同一个列表 >>> z = x[:] #应该这样复制 >>> x.sort() >>> y [4, 5, 7] >>> z [5, 4, 7] #排序 #sort() 列表排序 >>> num = [5,7,6,9,2,1] >>> num.sort() >>> num [1, 2, 5, 6, 7, 9] #sort(*, key=None, reverse=None),key表示排序的关键字,reserve表示是否逆序。Python3的sort是稳定排序。 >>>a=['abc','abcd','ab'] >>> a.sort(key=len) >>> a ['ab', 'abc', 'abcd'] #clear() 清空列表 #copy() 复制列表
-
元组
#元组不能被修改 #创建元组 >>> 1,2,3 (1, 2, 3) >>> 'a','b','c' ('a', 'b', 'c') >>> ()#空元组 () >>> ('d',) #只包含一个元素 ('d',) #元组的意义:元组可以在映射中当做键使用,列表不行;元组作为很多内建函数的方法和返回值存在