python3 容器類型介紹

容器類型:

列表和元組

例如:訪問數(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,430評論 6 13
  • 昨天看到知乎的一個(gè)問題; 如何看待30+的女性在相親市場上的地位? 有一個(gè)男生回答是: 一直感覺女生30歲在相親市...
    六秒啊閱讀 1,817評論 6 12
  • 又墨跡到現(xiàn)在。今天的讀書會(huì)讀的是臨在跟等待,我沒有特別懂。 我在課堂上吸收到了一些,我把這種概念先強(qiáng)行 植入我的大...
    陳艷華_ff6e閱讀 142評論 0 0
  • 心靈,是每個(gè)人都可以去優(yōu)化它的,可能有一些時(shí)候,就在心里偷偷地埋下了一顆種子。 小時(shí)候的我很活潑開朗,...
    喵喵佳怡閱讀 878評論 2 1

友情鏈接更多精彩內(nèi)容