Python的列表在JS中又叫做数组,是基础数据类型之一,以[]括起来,以逗号隔开,可以存放各种数据类型、嵌套的列表、对象。列表是有序的,即有索引值,可切片,方便取值。列表的操作和对字符串的操作是一样的。
1 li = ['xzc',[1,2,3],'123'] 2 print(li[0])#输出xzc 3 print(li[0:2])#切片操作,输出['xzc',[123]]
增加数据:
1.追加数据:append()方法,对原来的列表进行操作,不会生成新的列表
1 li = ['xzc',[1,2,3],'123'] 2 li.append('abc') 3 li.append(1) 4 print(li)#输出['xzc',[1,2,3],'123','abc',1]
2.插入数据:inster()方法
1 li = ['xzc',[1,2,3],'123'] 2 li1 = li.append(2,'ooo')#在索引为2的'123'之前插入'ooo'
3.迭代追加数据:extend()方法,以最小元素追加,可迭代对象:字符串类型、列表等,Int类型不能迭代添加
1 li = ['xzc',[1,2,3],'123'] 2 li2 = li.extend('哈喽') 3 print(li2)#['xzc',[1,2,3],'123','哈','喽'] 4 5 li3 = li.extend([1,2,3]) 6 peint(li3)#['xzc',[1,2,3],'123',1,2,3]
删除数据:
1.pop()方法,按照索引删除,有返回值,返回你删除的元素,若没有指定索引下标,默认删除最后一个
1 li = ['xzc',[1,2,3],'123'] 2 name = li.pop(1)#删除[1,2,3] 3 print(name,li)#输出[1,2,3] ['xzc','123']
2.remove()方法,按元素删除,无返回值
1 li = ['xzc',[1,2,3],'123'] 2 li.remove('xzc')#删除xzc
3.clear()方法,清空列表,使其为空
1 li = ['xzc',[1,2,3],'123'] 2 li.clear() #清空 3 print(li) #输出[]
4.del,删除列表
1 li = ['xzc',[1,2,3],'123'] 2 del li 3 print(li)#此时输出列表会报错,因为已经被删除,列表不存在
5.删除很多元素,利用索引,切片后删除
1 li = ['xzc',[1,2,3],'123'] 2 del li[0:2] #删除'xzc',[1,2,3]
修改数据:
1.单个修改, 找到索引,直接赋值
1 li = ['xzc',[1,2,3],'123'] 2 li[0] = 'sun' #把xzc改成sun 3 4 #利用replace()方法 5 li[0] = li[0].capitalize()#sun的首字母大写,再放回原处 6 li[0] = li[0].replace('x','a')#把'xzc'找出来,然后把x换成a
2.切片后修改,会迭代的修改,即以最小元素替代切片的区间,大于切片区间会往后增加,替换的是列表也会如此
1 li = ['xzc',[1,2,3],'123'] 2 li[0:2] = '你好啊' 3 print(li)#输出['你','好','啊','123']
查询数据:
1 li = ['xzc',[1,2,3],'123'] 2 for i in li: 3 print(i)#单个输出 4 5 #切片查询,输出的是切片后的列表 6 li = ['xzc',[1,2,3],'123'] 7 print(li[0:2])
列表的嵌套:
1 li = ['sun','tony',['tom','cat']] 2 li[0][0]#找到sun的s 3 li[2][0] = li[3][0].upper()#将嵌套列表里的tom全部大写 4 5 #把嵌套列表的第一个元素变成100 6 li = ['xzc',[1,2,3],'123'] 7 li[1][0] = 100 #或者li[1][0] = li[1][0]+99 8 print(li)
公共方法:
1 li = ['xzc',[1,2,3],'123] 2 print(len(i))#输出列表的长度:3 3 4 #指定元素出现的次数 5 li.count('xzc') 6 7 #寻找指定元素的索引 8 li.index('xzc') 9 10 #排序(默认从小到大) 11 li = [1,5,6,9,8,7] 12 li.sort() 13 14 #逆向排序(从大到小) 15 li.sort(reverse=True) 16 17 #列表反转 18 li.reverse()