**
序列
序列一种数据存储方式,用来存储一系列的数据集合 序列结构有:字符串、列表、元组、字典、集合
**
列表
1、列表a = [10,20,30,40]
创建10,20,30,40这些对象,每个有对应的(id,type,value);
对象的地址依次存到列表连续的内存空间;
列表a本身也是对象,把该列表的地址传给a.
2、列表中的元素类型可以各不相同,列表大小可变,可随时增加或缩小。
a = [10,23,’abc’,Ture]
3、列表常用方法
字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列。
4、列表创建
1、基本语法创建
>>> a = [1,2,3,"tc"]
>>> a[1]
2
2、list()创建
3、range()创建整数列表
range(start,end,step)
>>> list(range(3,20,2))
[3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> list(range(20,3,-4))
[20, 16, 12, 8, 4]
4、推导式生成列表
5、列表元素增加和删除
进行列表增加或删除时,中间增加元素,后面的则会进行拷贝复制,效率较低。建议一般在列表的尾部增加或删除元素。
1、append()方法,建议使用,不创建新的列表对象
>>> a = [2,4]
>>> a.append(80) #尾部增加该元素
>>> a
[2, 4, 80]
>>>
>>> a.append([3,4])
>>> a
[2, 4, [3, 4]]
2、+运算符 (增加一个新的对象,不建议使用)
>>> a = [2,4]
>>> id(a)
1738992157960
>>> a = a + [3,4]
>>> a
[2, 4, 3, 4]
>>> id(a)
1739004749768
>>>
3、extend()方法,两个列表进行整合
将目标列表到的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。
>>> a = [2,4]
>>> a.extend([5,6])
>>> a
[2, 4, 5, 6]
>>>
4、Insert()插入元素
将制定元素插入到列表对象任意位置。涉及大量元素时,尽量避免使用。另外还有remove()、pop()、del().
5、乘法扩展
>>> a = ['tc',100]
>>> a = a * 3
>>> a
['tc', 100, 'tc', 100, 'tc', 100]
6、列表元素的删除
(1)del()删除
>>> a = [2,2,3,4]
>>> del a[1] #删除下标为1的数字,后面的自动拷贝到前一位置
>>> a
[2, 3, 4]
>>>
(2)pop()方法,删除并返回指定位置元素,如果未指定则默认操作末尾那个元素
(3)remove()方法,删除首次出现的指定元素,若不存在该元素抛出异常
7、元素访问和计数
(1)通过索引直接访问元素,索引区间(0,列表长度-1)。
>>> a = [10,20,30,40]
>>> a[0]
10
(2)index()获取指定元素在列表中首次出现的索引位置
index(value,[start,end]),指定索引位置搜素的范围
(3)count()获取指定元素在列表出现的次数
>>> a = [10,20,30,40,20,48,20]
>>> a.count(20)
3
(4)len()返回列表长度
>>> a = [10,20,30,40,20,48,20]
>>> len(a)
7
(5)成员资格判断
可以用count()判断,返回0不存在,返回大于1存在。
一般使用in、not in关键字。
8、列表切片
起始和终止偏移量不在范围,会默认为首和尾。
9、列表遍历
10、复制列表所有元素到新列表对象
11、列表排序sort()
12、新建列表排序
返回新的列表对象,sorted().
13、reversed()返回迭代器,list()输出
报错:
原因:保留字作为变量被使用
解决:变量名不使用保留字
del list
这里只是在交互模式下删除list变量,实际应用中不应该使用保留字作为变量名14、列表相关内置函数
(1)max min:返回列表中最大和最小值
(2)sum数值列表求和,非数值列表报错
15、多维列表
二维列表
for循环打印二维数据