list列表是python內(nèi)置的一種數(shù)據(jù)類型,list是一種有序的集合,可以隨時(shí)添加和刪除元素
創(chuàng)建列表
格式:在[ ]中添加各種數(shù)據(jù),使用逗號(hào)將其分隔開(kāi)來(lái)
如果是空列表,直接[]
通常會(huì)把list賦值給一個(gè)變量,通過(guò)這個(gè)變量引用列表
score=['Bob','Tom','Jack',98,90,True,False]
由于Python是動(dòng)態(tài)語(yǔ)言,所以list中包含的元素并不要求都必須是同一種數(shù)據(jù)類型,我們完全可以在list中包含各種數(shù)據(jù)
列表的訪問(wèn)
列表也可以如字符串一般使用下標(biāo)索引和切片
score=['Bob','Tom','Jack',98,90,True,False]
print(score[0])? ? ? ? #提取score列表中索引為0的字符,輸出結(jié)果為Bob
print(len(score))? ? #顯示score列表的長(zhǎng)度,輸出結(jié)果為7
print(score[2:5])? ? #對(duì)列表進(jìn)行切片,選取下標(biāo)索引為2到4的字符,得到的結(jié)果為:[98, 90, True]
列表的常見(jiàn)操作
添加元素
使用列表中的append()方法可以將新元素添加到該列表的最后一位,新元素可以包括數(shù)字,字符串,列表,元組,字典等.
score=['Bob','Tom','Jack',98,90,True,False]
score.append("last")? ? ? ? #將"last"這個(gè)字符串添加到原字符串的最后一位,得到的結(jié)果為:['Bob', 'Tom', 'Jack', 98, 90, True, False, 'last']
使用列表中的insert()方法可以將新元素添加到指定位置,格式為列表名.insert(添加的索引位置,添加的內(nèi)容)
score=['Bob','Tom','Jack',98,90,True,False]
score.insert(0,"first")? ? ? ? #得到的結(jié)果為:['first', 'Bob', 'Tom', 'Jack', 98, 90, True, False]
使用列表中的extend() 方法用于在列表末尾一次性追加另一個(gè)序列中的多個(gè)值,即將兩個(gè)列表拼接在一起
score=['Bob','Tom','Jack',98,90,True,False]
number=[1,2,3,4,5,6]
score.extend(number)? ? #在score列表末尾追加number列表得值,使用extend方法默認(rèn)不在屏幕上顯示
print (score)? ? #得到的結(jié)果是:?['Bob', 'Tom', 'Jack', 98, 90, True, False, 1, 2, 3, 4, 5, 6]
print (number)? ? ? ? #得到的結(jié)果是:[1, 2, 3, 4, 5, 6]
append與extend的區(qū)別:
score=['Bob','Tom','Jack',98,90,True,False]
number=[1,2,3,4,5,6]
score.append(number)? ? ? ? #使用append將number列表添加到score列表的末尾,得到的結(jié)果為 score=['Bob','Tom','Jack',98,90,True,False, [1,2,3,4,5,6] ]
score.extend(number)? ? #使用extend方法把number中的元素添加到score列表中去,得到的結(jié)果為 ['Bob','Tom','Jack',98,90,True,False, 1,2,3,4,5,6 ]
列表也可以支持幾個(gè)列表之間的相加
score=['Bob','Tom','Jack',98,90,True,False]
number=[1,2,3,4,5,6]
sum=score+number
print? ? (sum)? ? #得到的結(jié)果是:['Bob', 'Tom', 'Jack', 98, 90, True, False, 1, 2, 3, 4, 5, 6]
刪除元素
使用列表的pop()方法可以將list的最后的一個(gè)元素刪除
score=['Bob','Tom','Jack',98,90,True,False]
score1=score.pop()? ? ? ? #使用pop方法將score列表中的最后一個(gè)元素刪除
print (score)? ? #得到的結(jié)果是:['Bob', 'Tom', 'Jack', 98, 90, True]
使用列表的remove()方法可以刪除指定的元素,如果指定元素有多個(gè),則只刪除從左往右第一個(gè)
score=['Bob','Tom','Jack',98,90,True,False]
score.remove("Jack")? ? ? ? #使用remove方法刪除原列表中的Jack元素
print(score)? ? ? ? ? ? ? ? ? ? ? ? #顯示的結(jié)果是['Bob', 'Tom', 98, 90, True, False]
使用del方法可以刪除指定索引所對(duì)應(yīng)的值,格式為:del list[0]? 刪除索引為0所對(duì)應(yīng)的元素
score=['Bob','Tom','Jack',98,90,True,False]
del score[1]? ? #刪除下標(biāo)索引為1的元素,得到的結(jié)果為:['Bob', 'Jack', 98, 90, True, False]
修改元素
使用下標(biāo)索引去修改列表中的某一元素
score=['Bob','Tom','Jack',98,90,True,False]
score[1]="Louis"? ? #將score列表中索引為1的元素替換成"Louis"
print (score)? ? #得到的結(jié)果為['Bob', 'Louis', 'Jack', 98, 90, True, False]
查找元素
使用in,not in進(jìn)行查詢
score=['Bob','Tom','Jack',98,90,True,False]
if 90 in score:
? ? ? ? print ("找到了90")
if? "Louis"? not in score:
? ? ? ? ? ? print("沒(méi)找到Louis")