容器類型:
列表和元組
例如:訪問數(shù)據(jù)元素
數(shù)據(jù)收納盒名字[編號(hào)(從零開始)]
列表是可變類型,所以可以添加、刪除、替換、重排序列中的元素
元組不可變
創(chuàng)建列表
方括號(hào)法
print([])
a=[]
print(a)
print([1,2,3])
b=[4,5,6]
print(b)
#[1,2,3]必須賦值給變量,不然會(huì)報(bào)錯(cuò)
輸出
F:\k\venv\Scripts\python.exe F:/k/demo5.py
[]
[]
[1, 2, 3]
[4, 5, 6]
指明類型法
list()
print(list())
c = list()
print(c)
print(list([7,8]))
m = list([4,5])
print(m)
輸出
[]
[]
[7, 8]
[4, 5]
創(chuàng)建元組
圓括號(hào)法
print(())
a=()
print(a)
print((1,2,3))
b=(4,5,6)
print(b)
#(1,2,3)必須賦值給變量,不然會(huì)報(bào)錯(cuò)
輸出
F:\k\venv\Scripts\python.exe F:/k/demo5.py
()
()
(1, 2, 3)
(4, 5, 6)
指明類型法
tuple()
print(tuple())
c = tuple()
print(c)
print(tuple((7,8)))
m = tuple((4,5))
print(m)
輸出
()
()
(7, 8)
(4, 5)
列表和元組中保存的元素類型沒有限制
print(list([1,"abc","我",3.11]))
print(tuple((1,"abc","我",3.11)))
輸出
[1, 'abc', '我', 3.11]
(1, 'abc', '我', 3.11)
列表的操作
append操作
a=list([1,2,3])
print(a)
a.append(2)
print(a)
輸出
[1, 2, 3]
[1, 2, 3, 2]
insert操作
b=list([1,2,3])
print(b)
b.insert(1,8)
print(b)
b=list([6,2,3]) #在列表最后一個(gè)元素后面添加一個(gè)元素
print(b)
b.insert(3,3)
print(b)
輸出
[1, 2, 3]
[1, 8, 2, 3]
[6, 2, 3]
[6, 2, 3, 3]
extend操作
b=list([6,2,3])
print(b)
b.extend([6])
print(b)
輸出:
[6, 2, 3]
[6, 2, 3, 6]
pop操作
b=list([6,2,3,4,9])
print(b)
b.pop() #pop空括號(hào)()表示縮減列表最后一個(gè)元素
print(b)
b.pop(0) #pop(0)是表示縮減列表中第一個(gè)元素
print(b)
b.pop(1) #pop(1)參數(shù)1是表示列表中元素排列的序號(hào),選1就表示縮減列表中序號(hào)為1的元素即第二個(gè)元素
print(b)
輸出
[6, 2, 3, 4, 9]
[6, 2, 3, 4]
[2, 3, 4]
[2, 4]
remove操作
b=list([6,2,3,4,9])
print(b)
b.remove(2) #remove后面的這個(gè)()里面是填寫列表里面元素的值進(jìn)行縮減列表元素的,比如這條代碼b.remove(2)這個(gè)的這個(gè)2是對于列表中[6,2,3,4,9]里面的這個(gè)2
print(b)
b.remove(3) #這個(gè)跟上面那個(gè)注釋的意思一樣remove括號(hào)里面的3對于列表里面的那個(gè)3
print(b)
輸出
[6, 2, 3, 4, 9]
[6, 3, 4, 9]
[6, 4, 9]
clear操作
b=list([6,2,3,4,9])
print(b)
b.clear() #clear()是表示縮減列表中所有的元素,比如#號(hào)左邊的這條代碼就表示縮減刪除了list([6,2,3,4,9])列表中所有的元素
print(b)
輸出
[6, 2, 3, 4, 9]
[]
reverse操作
reverse:把列表中的數(shù)據(jù)元素頭尾反轉(zhuǎn)重新排列
num=[1,2,3,7,5,6,9,4]
num.reverse()
print(num)
輸出
[4, 9, 6, 5, 7, 3, 2, 1]
sort操作
sort:把列表中的數(shù)值按從小到大進(jìn)行排列
num=[1,2,3,7,5,6,9,4]
num.sort()
print(num)
輸出
[1, 2, 3, 4, 5, 6, 7, 9]
如果列表里面的元素需要從大到小進(jìn)行排序可以進(jìn)行以下這樣操作
num=[1,2,3,7,5,6,9,4]
num.sort(reverse = True) #這條代碼的意思是num里面的元素進(jìn)行從小到大的順序排列之后,引用reverse函數(shù),列表中的元素又進(jìn)行了頭尾反轉(zhuǎn)的重新排列
print(num)
輸出
[9, 7, 6, 5, 4, 3, 2, 1]
del操作
del:可以用來刪除列表中的元素
num=[1,2,3,7,5,6,9,4]
del num[7] #需要?jiǎng)h除列表中那個(gè)元素,直接del []中括號(hào)里面寫上元素的序號(hào)就可以進(jìn)行刪除
print(num)
del num[3] #需要?jiǎng)h除列表中那個(gè)元素,直接del []中括號(hào)里面寫上元素的序號(hào)就可以進(jìn)行刪除
print(num)
輸出
[1, 2, 3, 7, 5, 6, 9]
[1, 2, 3, 5, 6, 9]
列表和元組的合并
加法運(yùn)算"+":連接兩個(gè)列表/元組得到一個(gè)新的列表且前面兩個(gè)列表還繼續(xù)存在不受影響
乘法運(yùn)算"*":復(fù)制n次,生成新的列表 /元組
num = [1,2,3,7,5,6,9,4]
bal = ["hello","world"]
s = num+bal #把兩個(gè)列表用加法運(yùn)算符合并得出一個(gè)新的列表且前面兩個(gè)不受影響
print(s)
輸出
[1, 2, 3, 7, 5, 6, 9, 4, 'hello', 'world']
把列表賦值給一個(gè)變量,然后這個(gè)變量用乘法(*)乘以一個(gè)整數(shù),就等于給這個(gè)列表重復(fù)幾次如下圖:
num = [1,2,3,7,5,6,9,4]
d = num*3 #把num這個(gè)列表用乘法運(yùn)算符“*”重復(fù)該列表三次得到一個(gè)新的列表且前面那個(gè)列表不受影響
print(b)
輸出
[1, 2, 3, 7, 5, 6, 9, 4, 1, 2, 3, 7, 5, 6, 9, 4, 1, 2, 3, 7, 5, 6, 9, 4]
將元組有加號(hào)(+)進(jìn)行連接合并如下圖:
n = (3,6,9,8,5,2)
m = (1,4,7,2,5,8)
al = n+m #將兩個(gè)元組用加法運(yùn)算符進(jìn)行合并,得到一個(gè)新的列表,前面兩個(gè)列表不受影響
print(al)
輸出
(3, 6, 9, 8, 5, 2, 1, 4, 7, 2, 5, 8)
把元組賦值給一個(gè)變量,然后這個(gè)變量用乘法(*)乘以一個(gè)整數(shù),就等于給這個(gè)元組重復(fù)幾次如下圖:
n = (3,6,9,8,5,2)
ak = n*3 #將n這個(gè)列表用乘法運(yùn)算符"*"重復(fù)該列表三次,得到一個(gè)新的類別且前面那個(gè)列表不受影響
print(ak)
輸出
(3, 6, 9, 8, 5, 2, 3, 6, 9, 8, 5, 2, 3, 6, 9, 8, 5, 2)
求列表元組大小的可以調(diào)用len()函數(shù)
求列表元素的個(gè)數(shù)如下圖:
num = [4,5,6,3,6,9] #創(chuàng)建一個(gè)列表并賦值給num
print(len(num)) #打印列表大小即列表元素的個(gè)數(shù)
輸出
6
求元組里面元素的個(gè)數(shù)如下圖:
num = (4,5,6,3,6,9,3,8)#創(chuàng)建一個(gè)元組并賦值給num
print(len(num)) #打印元組大小即元組元素的個(gè)數(shù)
輸出
8
索引:alist[]或atuple[]
1.可以用alist[編號(hào)]給列表中任何一個(gè)位置的元素從新賦值,可以把a(bǔ)list[編號(hào)]賦值給'='左邊的變量,也可以放在'='的右邊作為一個(gè)表達(dá)式參與計(jì)算
2.元組屬于不可變類型,索引只能獲取對應(yīng)位置值中的數(shù)據(jù)值,不可重新賦值
獲取一個(gè)列表元素并將它當(dāng)成一個(gè)變量重新進(jìn)行賦值如下圖:
alist = [1,2,3,4,5,6] #創(chuàng)建一個(gè)列表'alist'
alist[3] = 0 #給alist[3]放在'='左邊當(dāng)成一個(gè)變量進(jìn)行重新賦值0這么一個(gè)數(shù)值
print(alist) #打印結(jié)果為[1,2,3,0,5,6]
獲取一個(gè)列表元素將它當(dāng)成一個(gè)表達(dá)式進(jìn)行計(jì)算如下圖:
alist = [1,2,3,4,5,6] #創(chuàng)建一個(gè)列表'alist'
blist = 3 #創(chuàng)建一個(gè)變量并賦值數(shù)值3
als = alist[5]*blist #把a(bǔ)list[5]放在右邊當(dāng)成一個(gè)表達(dá)式參與計(jì)算
print(als) #alist[5]的取值是6,blist中暫存的值為3,6*3結(jié)果為十八
獲取一個(gè)元組元素并且將它當(dāng)成一個(gè)表達(dá)式賦值給一個(gè)變量,因?yàn)樵M是不可變類型所以不能進(jìn)行重新當(dāng)成變量進(jìn)行賦值如下圖:
atuple = (1,2,3,4,5,6) #創(chuàng)建一個(gè)元組'atuple'
btuple = atuple[4] #給atuple[4]放在'='右邊當(dāng)成一個(gè)表達(dá)式計(jì)算
print(btuple) #打印結(jié)果為5
輸出
5
獲取一個(gè)元組的元素,把它當(dāng)成一個(gè)變量進(jìn)行重新賦值,就會(huì)報(bào)錯(cuò)如下圖:
atuple = (1,2,3,4,5,6) #創(chuàng)建一個(gè)元組'atuple'
atuple[3] = 0 #給atuple[3]放在'='左邊當(dāng)成一個(gè)變量進(jìn)行重新賦值0這么一個(gè)數(shù)值
print(atuple) #打印結(jié)果報(bào)錯(cuò),因?yàn)樵M是不可變類型所以不可以對立面的元素進(jìn)行重新賦值
輸出
Traceback (most recent call last):
File "F:/k/demo5.py", line 2, in <module>
atuple[3] = 0 #給atuple[3]放在'='左邊當(dāng)成一個(gè)變量進(jìn)行重新賦值0這么一個(gè)數(shù)值
TypeError: 'tuple' object does not support item assignment
列表和元組切片
alist[start:end:step]
開始:結(jié)束:步長
atuple[start:end:step]
開始:結(jié)束:步長
具體操作如下
對元組進(jìn)行切片如下圖:
atuple = (1,2,3,4,5,6) #創(chuàng)建一個(gè)元組'atuple'
print(atuple[1:5:2] ) #對元組進(jìn)行切片并進(jìn)行打印結(jié)果為(2,4)因?yàn)椴介L為2所以要空跳兩次3一次5一次
輸出
(2, 4)
對列表進(jìn)行切片如下圖:
alist = [1,'hello','world']
print(alist[::-1]) #列表的切片步長為-1則表示列表里面的元素頭尾調(diào)轉(zhuǎn)重新排序
print(1 in alist) #判斷列表中元素是否有1這個(gè)數(shù)值,結(jié)果是True
輸出
['world', 'hello', 1]
True
index操作
列表.index(值)例如alist = [1,'hello','world']
print(alist.index('hello')具體看下圖代碼:
alist = [1,'hello','world']
print(alist.index('hello')) #打印輸出結(jié)果為'hello'在列表中的位置所對應(yīng)的序號(hào)
輸出
1
count操作
count函數(shù)可以判斷某一個(gè)數(shù)值在某個(gè)列表中出現(xiàn)過幾次具體如下圖:
alist = [1,'hello','world']
print(alist.count('world'))#列表.count()為語法格式,#左邊的代碼則是打印出world這個(gè)字符串在alist這個(gè)列表中出現(xiàn)過幾次
輸出
1
sum操作
sum:求一個(gè)列表或元組的累加之和
alist = [1,2,3,4,5,6,7,8,9]
print(sum(alist))#求1-9的累加之和并打印出來
atuple = (1,2,3,4,5,6,7,8,9)
print(sum(atuple))#求atuple元組1-9的累加之和并打印出來
輸出
45
45
min操作
Min:求一個(gè)列表或一個(gè)元組的最小值
alist = [1,2,3,4,5,6,7,8,9]
print(min(alist))#求alist列表的最小值并打印出來
atuple = (1,2,3,4,5,6,7,8,9)
print(min(atuple))#求atuple元組的最小值并打印出來
輸出
1
1
max操作
max:求一個(gè)列表或元組的最大值
alist = [1,2,3,4,5,6,7,8,9]
print(max(alist))#求alist列表的最大值并打印出來
atuple = (1,2,3,4,5,6,7,8,9)
print(max(atuple))#求atuple元組的最大值并打印出來
輸出
9
9