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()