一、序列
序列用来存储一系列数据。
在内存中,序列是一块用来存放多个值的连续的内存空间。序列实质上存储的是每个对象的地址,然后再将整个序列的地址复制给变量a。
常用的序列结构有:字符串、列表、元组、字典和集合。
二、列表
列表中可以放任意类型的数据。
(一)列表的创建
1.list()函数
- 将字符串中的每个字符放在列表中,如list(“hello”)==>[“h”,“e”,“l”,“l”,“o”]
- 使用range(起始数字,终止数字(必选),步长),能够将任何可迭代的数据转化成为列表,如list(range(10))、list(range(15,3,-1))
2.推导式生成列表
#通过range()和控制语句生成多个元素,并放到列表中
>>>a=[x*2 for x in range(5)]
>>>a
[0,2,4,6,8]
>>>b=[x*2 for x in range(50) if x%9==0]
>>>b
[0,18,36,54,72,90]
(二)列表元素的增加和删除
一般在列表尾部增加或删除元素。删除或增加列表中间的元素,将会减弱列表的操作效率。
1.append()
>>>a=[1,3,6]
>>>a.append(10)
>>>a
[1,3,6,10]
2.+运算符操作
>>>a=[1,3,6]
>>>a=a+[10]
>>>a
[1,3,6,10]
注:+和append()的不同点在于,+运算符产生的是一个新的列表。
3.extend()
>>>a=[1,3,6]
>>>a.extend([10,50])
>>>a
[1,3,6,10,50]
extend()方法可以在列表尾部插入一个指定列表。
4.insert()
>>>a=[1,3,6]
>>>a.insert(2,100) #在列表索引为2的地方插入元素100
>>>a
[1,100,3,6]
注:insert()的本质是数组的拷贝,即将元素向后移,这样会降低操作效率
5.乘法拓展
>>>a=[1,3,6]
>>>b=a*2 #将列表a复制两次
>>>b
[1,3,6,1,3,6]
(三)列表元素的删除
1.del
del用以删除指定位置上的元素
>>>a=[1,3,6]
>>>del a[2] #删除列表a中索引为2的元素
>>>a
[1,3]
注:del 的本质是数组元素的拷贝,即将后面的元素依次拷贝到前一个位置上
2.pop()
- pop()默认删除列表中的最后一个元素
- pop()也可以删除指定位置的元素
>>>a=[1,3,6]
>>>a.pop() #默认删除最后一个元素
>>>a
[1,3]
>>>a.pop(0) #指定删除位置
>>>a
[3]
3.remove()
remove()用来删除首次出现的指定元素,若不存在该元素,则会抛出异常。
>>>a=[1,3,6,3]
>>>a.remove(3)
>>>a
[1,6,3]
(四)列表的访问和计数
1.索引访问
通过指定位置获取元素。语法为:列表名[0,列表长度-1],如果超出范围,会报错。
2.index()访问
获得指定元素在列表中首次出现的索引位置。语法为:列表名.index(指定元素(必选),起始位置,终止位置)。如a.index(20)、a.index(20,1,6)
3.count()
>>>a=[1,3,6,3]
>>>a.count(3) #返回元素3在列表a中出现的次数
2