1. 列表
list = [val1, val2, val3, val4]
- 列表中的每一个元素都是可变的(可删除,新增,修改元素)
- 列表中的元素是有序的(可以通过分片索引访问指定元素)
- 列表中的元素可以是Python中的任何对象
1.1 列表的更新
对序列的基础操作(分片,索引,相加,乘法)也都同样适用于列表,此外还有一些序列中没有的方法,可用来更新列表
- 元素赋值
a = [1,2,3,2,1]
a[1] = 10
print(a)
>>> [1,10,3,2,1]
不能为一个不存在的元素赋值(即:索引的位置在列表中必须存在)
- 增加元素
append方法
list.append(obj)
a = [1,2,3,2,1]
a.append(10)
print(a)
>>> [1,2,3,2,1,10]
- 删除元素
del
a = [1,2,3,2,1]
del a[2]
print(a)
>>> [1,2,2,1]
- 分片赋值
show = list('hi,boy')
print(show)
>>> ['h','i',',','b','o','y']
show[3:] = list('man')
print(show)
>>> ['h','i',',','m','a','n']
分片赋值可以使用与原序列不等长的序列将分片替换:
s = list('hi')
s[1:]= list('ello')
print(s)
>>> ['h','e','l','l','o']
分片赋值还可以在制定位置插入新元素(不替换原有元素):
b = list('女排夺冠了')
b[2:2] = list('奥运会')
print(b)
>>> ['女','排','奥','运','会','夺','冠','了']
1.2 嵌套列表
在列表中可以镶嵌列表,镶嵌的列表取出后还是列表
field = ['a','b','c']
num = ['1','2','3']
mix = [field, num]
print(mix)
>>> [['a','b','c'],['1','2','3']]
mix[0] = ['a','b','c']
1.3 列表方法
方法可以理解为函数的一类分支。基本上遵从 对象.方法(参数) 这一格式
- count
用于统计某个元素在序列/列表中出现的次数
list.count(obj)
mix = [[1,3],5,6,[1,3],2]
print(mix.count([1,3]))
>>> 2
- extend
用于在序列/列表末尾一次性追加多个值
list.extend(obj/seq)
mix = [[1,3],5,6,[1,3],2]
mix.extend([[2,5,6]])
print(mix)
>>> [[1, 3], 5, 6, [1, 3], 2, [2, 6, 5]]
xim = [1,2,3,4]
mix.extend(xim)
print(mix)
>>> [[1, 3], 5, 6, [1, 3], 2, [2, 6, 5],1,2,3,4]
- index
用于从序列/列表中找出某个值第一个匹配项的索引位置
list.index(obj)
mix = [[1,3],5,6,[1,3],2]
print(mix.index([1,3]))
>>> 0
- insert
用于将对象插入列表指定位置
list.insert(index,obj)
mix = [[1,3],5,6,[1,3],2]
mix.insert(1,'A')
print(mix)
>>> [[1,3],'A',5,6,[1,3],2]
- pop
用于移除列表/序列中的一个元素(默认最后一个),并且返回改元素的值
list.pop(obj = list[-1])
mix = [[1,3],5,6,[1,3],2]
mix.pop(0)
print(mix)
>>> [5, 6, [1, 3], 2]
xim = mix
xim.pop()
print(xim)
>>> [5, 6, [1, 3]]
- remove
用于移除列表中某个值得第一个匹配项
list.remove(obj)
mix = [[1,3],5,6,[1,3],2]
mix.remove([1,3])
print(mix)
- append
用于在列表末尾添加新的元素
list.append(obj)
a = [1,2,3,2,1]
a.append(10)
print(a)
>>> [1,2,3,2,1,10]
- reverse
用于反向列表中的元素
list.reverse()此方法可以不传入参数
mix = [[1,3],5,6,[1,3],2]
mix.reverse()
print(mix)
a = [[1,3],5,6,[1,3],2]
print(list(reversed(a))) #reversed函数并不返回列表,而是返回一个迭代器对象.
# 需要用list函数把返回值的对这项转换为列表
-
clear
用于清空列表
list.clear() -
copy
用于复制列表
list.copy() -
sort
用于对元列表进行(正向)排序。
如果设定参数,就按照参数指定的比较方法隐进行排序
list.sort(func)
mix = [5,6,2]
mix.sort()
print(mix)
>>> [2,5,6]
另外,sort方法还有两个可选参数(key 和 reverse)
field = ['study','python','is','happy']
field.sort(key=len)
print(field)
>>> ['is', 'study', 'happy', 'python']
field.sort(key=len,reverse=True)
print(field)
>>> ['python', 'study', 'happy', 'is']
2. 元组
Tuple = (val1,val2,val3,val4)
Python中的元组可以被视为更为稳定的列表
- 一旦初始化,元组中的元素不能被修改
- 列表中存在的方法在元组上皆不可用
- 元组可以被索引,截取和查看,方式与列表一致
2.1 tuple函数
tuple函数的功能和list函数基本一致,都以一个序列作为参数,并把它转换为元组
print(tuple(['hello','python']))
>>> ('hello','python')
print(tuple('hello'))
>>> ('h','e','l','l','o')
2.2 元组的基本操作
- 访问
a = ('e','g','d',1,2)
print(a[2])
>>> d
- 修改/新增
元组中的元素不能修改,但可以通过 + 进行连接补充
a = ('e','g','d',1,2)
b = ('v','12')
print(a + b)
>>> ('e','g','d',1,2,'v','12')
- 删除
del 用法参照列表方法 del tuple,删除整个元组
2.3 元组的内置函数
参考序列内置函数(len, max, min)