本文共 3520 字,大约阅读时间需要 11 分钟。
列表 | 元组 |
---|---|
可修改 | 不可修改 |
[‘a’,‘b’,‘c’] | (‘a’,‘b’,‘c’) |
索引和切片
>>> name='Sudley'>>> name[0]'S'>>> name[-1]'y'>>> name[0:]'Sudley'>>> name[:]'Sudley'>>> name[4:]'ey'>>> name[:-3]'Sud'>>>
上面的切片中默认步长为1,我们可以自定义步长,但是需要注意步长不能为0
>>> name[0::2]'Sde'>>> name[0:5:2]'Sde'>>> name[0:4:2]'Sd'>>> name[4:0:2]''>>> name[4:0:-2]'ed'>>>
序列相加、相乘
>>> [1,2,3]*3[1, 2, 3, 1, 2, 3, 1, 2, 3]>>> [1,2,3] + ['4','5','6'] #一般而言不建议拼接不同类型的序列[1, 2, 3, '4', '5', '6']>>>
成员资格
>>> 'Su' in 'Sudley'True>>> db = [ ['Sudley','111111'], ['root','123456'], ]>>> u='Sudley'>>> p='123456'>>> [u,p] in dbFalse>>> p='111111'>>> [u,p] in dbTrue>>>
长度、最大值和最小值
>>> num = ['a','b','c']>>> len(num)3>>> min(num)'a'>>> max(num)'c'>>>
列表方法
方法 | 描述 |
---|---|
alist.append(obj) | 追加元素,等同于alist[len(alist):len(alist)] = [obj] |
alist.clear() | 删除alist所有元素 |
alist.count(obj) | 返回alist中与obj相等的元素个数 |
alist.copy() | 返回alist的副本,注意是浅复制 |
alist.extend(sequence) | 等同于alist[len(alist):len(alist)] = sequence |
alist.index(obj) | 返回第一个与obj相等的元素的索引,如果没有则触发ValueError异常 |
alist.insert(index,obj) | 在index索引左边插入obj;如果index > 0,就等同于alist[index:index] = [obj] |
alist.pop([index]) | 删除并返回指定索引(默认是-1) |
alsit.remove(obj) | 等同于del alist[alist.index(obj)] |
alsit.reverse() | 就地以相反的顺序排列列表的元素 |
alist.sort([cmp][,key][,reverse]) | 就地对alist的元素进行排序(稳定排序)。可通过提供比较函数cmp、键值数key(创建用户排序的键)和降序标志reverse(一个布尔值)进行定制 |
浅复制相关概念可参考
基本操作
>>> x = [1,2] #列表赋值>>> x[1] = 3>>> x[1, 3]>>> name = list('Sudley') #列表和字符串之间的转换>>> name['S', 'u', 'd', 'l', 'e', 'y']>>> str(name)"['S', 'u', 'd', 'l', 'e', 'y']">>> for i in range(0,len(name)): name1 = name1 + name[i] >>> name1'Sudley'>>> name[5:] = list('eee') #切片赋值,可以实现插入或删除列表元素>>> name['S', 'u', 'd', 'l', 'e', 'e', 'e', 'e']>>> name[0:5] = []>>> name['e', 'e', 'e']>>> del name[1:]>>> name['e']>>>
列表方法
>>> #列表末尾追加元素>>> num = [1,2]>>> num.append(3)>>> num[1, 2, 3]>>> num = [1,[1,2,3],2,3]>>> num2 = num.copy()>>> num[1][1] = 11>>> num2[1, [1, 11, 3], 2, 3]>>> num[0] = 0>>> num[0, [1, 11, 3], 2, 3]>>> num2[1, [1, 11, 3], 2, 3]>>>>>> #列表拷贝>>>> num = [1, 2, 3]>>> num1 = num >>> num2 = num.copy() >>> num3 = num[:] >>> num[1] = 'a'>>> num[1, 'a', 3]>>> num1[1, 'a', 3]>>> num2[1, 2, 3]>>> num3[1, 2, 3]>>> #元素计数>>> num = [[1,2],1,1,[2,1,[1,2]]]>>> num.count(1)2>>> num.count([1,2])1>>> #列表扩展>>> a = [1,2]>>> b = [3,4]>>> a + b[1, 2, 3, 4]>>> a[1, 2]>>> a.extend(b)>>> a[1, 2, 3, 4]>>> a.append(b)>>> a[1, 2, 3, 4, [3, 4]]>>> #索引,只查找第一个出现的索引>>> a.index(3)2>>> a.index([3,4])4>>> a.append(3)>>> a.index(3)2>>> a[1, 2, 3, 4, [3, 4], 3]>>>#插入对象 >>> a.insert(2,2.5)>>> a[1, 2, 2.5, 3, 4, [3, 4], 3]>>> a.insert(4,3.5)>>> a[1, 2, 2.5, 3, 3.5, 4, [3, 4], 3]>>> a.insert(-2,22)>>> a[1, 2, 2.5, 3, 3.5, 4, 22, [3, 4], 3]>>> >>>#删除元素 >>> a.pop()3>>> a.pop(0)1>>> >>> a[2, 2.5, 3, 3.5, 4, [3, 4]]>>> a.append(a.pop())>>> a[2, 2.5, 3, 3.5, 4, [3, 4]]>>> a[1] = 2>>> a[2, 2, 3, 3.5, 4, [3, 4]]>>> a.remove(2)>>> a[2, 3, 3.5, 4, [3, 4]]>>>#排序>>> a = [1,3,2]>>> a.reverse()>>> a[2, 3, 1]>>> a.sort()>>> a[1, 2, 3]>>> a.reverse()>>> a[3, 2, 1]>>>#常见错误>>> b = a.sort()>>> a[1, 2, 3]>>> b>>> b = a.pop(1) #pop()是唯一即修改列表又返回非None值的列表方法>>> b2>>>
元组最大的特点是不能修改,一般用作字典的键
>>> a = (1,2)>>> a[0]1>>> a[0] = 2Traceback (most recent call last): File "", line 1, in a[0] = 2TypeError: 'tuple' object does not support item assignment>>> a(1, 2)>>> a = 1,2>>> a(1, 2)>>> a = 1,>>> a(1,)>>> a = (1) #元组的括号可以省略但是逗号不能省略>>> a1>>> type(a) >>> a = (1,) >>> type(a) >>> a(1,)>>>
转载地址:http://xuiti.baihongyu.com/