一.列表
1.作用:按位置存放多个值
2.定义
L=[1,2,’a’,[123,456]]
3.类型转换
res=list('hello') print(res) #['h', 'e', 'l', 'l', 'o']
res=list({'k1':111,'k2':222,'k3':3333}) print(res) #['k1', 'k2', 'k3']
二.列表的索引
l=['111','222','333']
1.正向取
l[0]----->’111’
2.反向取
l[-1]----->’333’
ps:列表可以通过索引取,也可以改,但是无法通过索引新增。
三.列表的切片(顾头不顾尾,步长)
l = [111, 'egon', 'hello', 'a', 'b', 'c', 'd', [1, 2, 3]]
print(l[0:3])------>[111, 'egon', 'hello']
print(l[0:5:2]) ----->[111, 'hello', 'b']
ps:列表切片得到列表,等同于拷贝行为,而且相当于浅copy。
四.列表的追加
1.append(在末尾追加)
a='1230' l=['111','222','333'] l.append(a) print(l)#['111', '222', '333', '1230']
2.insert(在指定位置插入)
l=['111','222','333'] l.insert(0,'abcd') print(l)
#['abcd', '111', '222', '333']
3.extend(依次添加值)
l=['111','222','333'] a='1234' l.extend(a) print(l)
#['111', '222', '333', '1', '2', '3', '4']
五.列表的删除
1.del(没有返回值)
l=['111','222','333'] del l[0] print(l) #['222', '333'] #ps:del没有返回值
2.pop(删除并返回改值)
l=['111','222','333'] a=l.pop(0) print(a) #‘111’
3.remove(删除指定值,返回None)
l=['111','222','333'] a=l.remove('333') print(l,a) #['111', '222'] None
六.列表的长度
print(len([1, 2, 3])) #3
七.成员运算in和not in
print('aaa' in ['aaa', 1, 2]) #True print(1 in ['aaa', 1, 2]) #True
八.列表的常用方法
1.count()#统计列表中某种元素个个数
l=['111','222','333','111'] print(l.count('111')) #2
2.index()#索引某个值并返回索引值
3.clear()#清楚列表l=['111','222','333'] print(l.index('111')) #0
l=['111','222','333'] l.clear() print(l) #[]
4.reverse()#不是排序,就是将列表倒过来
5.sort()#列表内元素必须是同种类型才可以排序l = [1, 'egon','alex','lxx'] l.reverse() print(l) #['lxx', 'alex', 'egon', 1]
ps:字符串也适用,按照ASCII码表对比。
l=[11,-3,9,2,3.1] l.sort() # 默认从小到大排,称之为升序 print(l) #[-3, 2, 3.1, 9, 11] l.sort(reverse=True) # 从大到小排,设置为降序 print(l) #[11, 9, 3.1, 2, -3]
九.补充
1、队列:FIFO,先进先出
l=[] # 入队操作 l.append('first') l.append('second') l.append('third') print(l)
#['first', 'second', 'third'] # 出队操作 print(l.pop(0)) #first print(l.pop(0)) #second print(l.pop(0)) #third
2、堆栈:LIFO,后进先出
l=[] # 入栈操作 l.append('first') l.append('second') l.append('third') print(l)
#['first', 'second', 'third'] # 出队操作 print(l.pop()) #third print(l.pop()) #second print(l.pop()) #first