Python列表操作(一)
1.列表(list)
在Python中,列表(list)是一种可变的序列,列表中数据的可以是其他各种不同的数据类型,支持增删查改等操作。用中括号“[]”代表开始和结束,支持下标索引;
2.列表创建
创建空列表 l=list();
3.列表拷贝复制
列表复制方法:直接赋值,类型转换,切片赋值,copy浅拷贝,深拷贝;
python创建/赋值/复制
t0=(1,2,3,(1,2))
l0=[1,2,3,[4,5,6,[7,8,9]]
l1=l0
l2=list(l0)
l3=list(t0)
l4=list({1,2,3})
l5=l0.copy()
l6=l0[:]
l7=copy.copy(l0)
l8=copy.deepcopy(l0)
分别修改原列表第一层、第二层和第三层的值;
l0[0]=0
l0[3][0]=0
l0[3][3][0]=0
print("直接赋值: "+str(l1),"list(l0): "+str(l2),"list(t0): "+str(l3),"list({1,2,3}): "+str(l4),
"l0.copy(): "+str(l5),"l0[:]: "+str(l6),"copy.copy(l0) : "+str(l7),"copy.deepcopy(l0):"+str(l8),sep="\n")
运行结果:
![Alt](https://img-blog.csdnimg.cn/20191021194929945.png)
“=”号直接赋值的全部发生了改变;
浅拷贝类型的,只有第一层跟着发生了变化;
深拷贝类型的,完全不受原列表的影响;
4.添加列表元素
方法:append(),extend(),insert(),+;
append()往列表尾部添加元素
格式:l.append(value),value为添加元素;
l=[1,2,3]
l.append(4)
l.append(5)
print(l)
运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191021201250148.png)
insert()往列表指定位置插入元素
格式:insert(index, value),index为插入位置,value为插入数据;当index大于列表长度时,在列表的最后一位插入数据;
l.insert(0, 0)
l.insert(6, 6)
print(l)
运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191021202030713.png)
extend拼接两个列表
格式:l1.extend(l2),l1和l2是两个列表,拼接后的列表为l1;
l1=[1,2,3]
l2=[40,50,60]
l3=l1.extend(l2)
print(l1)
print(l3)
运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191021203014323.png)
“+”拼接两个列表
格式:l3=l1+l2;
l1=[1.2.3]
l2=[8,9,10]
l1=l1+l2
print(l1)
运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191021204012555.png)
5.查找列表元素
方法:下标读取,切片读取,index(),in成员运算;
下标读取
通过下标可以直接读取相对于位置的元素;
格式:l[i];
l=[1,2,3]
print(l[0],l[1],l[2])
运行结果;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191021233938619.png)
切片读取
格式:l[start:end:step],start为起始位置,默认是列表第一个元素;end为结束位置,默认为列表最后一个元素的后一位;step为步长,默认值为1;
切片形式读取元素包含了start,不包含end;
l=[1,2,3,4,5,6]
l1=l[:]
l2=l[5:0:-1]
l3=l[-6:-1:2]
l4=l[2::-1]
l5=l[10:1:-1]
print(l1,l2,l3,l4,l5,sep="\n")
运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191022011935827.png)
index()方法查找
格式:l.index(value,[start, [,stop]]),index为查找的元素,start为查找开始位置,stop为查找结束位置(不包含),返回值为查找到的第一个元素的位置;如果查找的元素不存在,会显示出错信息;
l=['Tom','Bob','Jack','Tony','Cindy','Bob','Black','Bob']
a=l.index('Bob')
b=l.index('Bob',2, 6)
print(a, b, sep='\n')
运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191022014808875.png)
in判断是否为列表成员
格式:value in l;
l=[1,2,3,4,5,6]
print(2 in l)
print(7 in l)
运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191022020150276.png)
下一篇>>>