列表
- 用于存储任意数目、任意类型的数据集合
常用方法
方法 | 要点 | 描述 |
---|---|---|
list.append(x) | 增加元素 | 将元素x增加到列表list尾部 |
list.extend(aList) | 增加元素 | 将列表aList所有元素加到列表list尾部 |
list.insert(index,x) | 增加元素 | 将列表指定位置index处插入元素x |
list.removr(x) | 删除元素 | 将列表list中删除首次出现的指定元素x |
list.pop([index]) | 删除元素 | 删除并返回列表list指定为止index处的元素,默认是最后一个元素 |
list.clear() | 删除所有元素 | 删除列表所有元素,并不是删除列表对象 |
list.index(x) | 访问元素 | 返回第一个x的索引位置,若不存在x元素抛出异常 |
list.count(x) | 计数 | 返回指定元素x在列表list中出现的次数 |
len(list) | 列表长度 | 返回列表中包含元素的个数 |
list.reverse() | 翻转列表 | 所有元素原地翻转 |
list.sort() | 排序 | 所有元素原地排序 |
list.copy() | 浅拷贝 | 返回列表对象的浅拷贝 |
列表创建
- 基本语法创建
>>> a = [10,20,'wwy','111']
>>> a = [] #创建一个空的列表对象
- list()创建
>>> a = list() #创建一个空的列表对象
>>> a=list(range(10))
>>> a
[0,1,2,3,4,5,6,7,8,9]
>>> a=list("wwy")
>>> a
["w","w","y"]
- range()创建整数列表
语法格式为:range([start,] end [,step])
start参数:可选,表示起始数字。默认为0。
end参数:必选,表示结尾数字。
step参数:可选,表示步长。默认为1。
列表元素添加
-
a.append()
-
a = a + [50]
-
a.extend([50,60])
-
insert()
>>> a=[1,2,3]
>>> a.insert(2,40)
>>> a
[1,2,40,3]
列表元素删除
- del
删除列表指定位置的元素,实质是在进行拷贝
>>> a=[1,2,3]
>>> del a[1]
>>> a
[1,3]
- pop()
删除并返回指定位置元素。默认为操作列表最后一个元素
>>> a=[1,2,3,5,6]
>>> b=a.pop()
>>> b
6
>>> c=a.pop(2)
>>> c
3
- remove()
删除首次出现的指定元素,若不存在该元素抛出异常
>>> a=[10,20,30,40,50,60]
>>> b=a.remove(20)
>>> b
[10,30,40,50,60]
列表元素访问
-
通过索引直接访问元素
[0,列表长度-1]
超出范围则抛出异常 -
index()
获得指定元素在列表中首次出现的索引
index(value,[start,[end]]) -
count()
获得指定元素在列表中出现的次数 -
len()
返回列表长度 -
in
成员资格判断
切片操作slice
列表排序
-
修改原列表,不建新列表的排序
升序排列,sort()
降序排列,sort(reverse=True)
>>> a=[2,1,3]
>>> a.sort()
>>> a
[1,2,3]
>>> a.sort(reverse=True)
>>> a
[3,2,1]
打乱顺序
>>> a=[3,4,2,1]
>>> import random
>>> random.shuffle(a)
>>> a
[2,1,4,3]
-
建立新的列表排序
sorted(a)
sorted(a,reverce=True)
列表其他内置函数
- max和min
返回列表中的最大值、最小值 - sum
对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错
多维列表
元组
- 列表属于可变序列,可以任意修改列表中的元素;元组属于不可变序列,不能修改元组中的元素
- 因此,元组没有增加元素、修改元素、删除元素相关的方法
- 因此,只需要学习元组的创建和删除,元组中元素的访问和计数即可
元组创建
-
通过()创建元组,小括号可以省略
如果元组只有一个元素,则必须后面加逗号,否则会认为是整数 -
通过tuple()创建元组
语法格式:tuple(可迭代的对象)
b=tuple() #创建一个空元组对象
b=tuple("abc") #将字符串转化为元组
b=tuple(range(4)) #将range转化为元组
b=tuple([1,2,3]) #将list转化为元组
- 总结
tuple()可以接受列表、字符串、其他序列类型、迭代器生成元组
list()可以接受元组、字符串、其他序列类型、迭代器等生成列表
元素访问和计数
-
元组的元素不能修改
-
元素的访问
索引访问
切片slice访问 -
排序sorted(),并生成新的列表对象
zip(列表1,列表2,…)
生成器推导式
总结
-
元组的核心特点:不可变序列
-
元组的访问和处理速度比列表快
-
与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用