python數(shù)據(jù)容器總結(jié)示例詳解
數(shù)據(jù)容器:可以容納多份數(shù)據(jù)的數(shù)據(jù)類型,容納的每一份數(shù)據(jù)稱為元素,可以是任意類型的數(shù)據(jù)
1. 列表(list)
1.1 列表(list)的定義格式
列表基礎(chǔ)3種格式:
#列表格式(語法) #字面量 [元素1,元素2,元素3,元素4,···] #定義變量 變量名稱=[元素1,元素2,元素3,元素4,···] #定義空列表 變量名稱=[] 變量名稱=list[]
注意:
1.列表可以一次存儲多個(gè)數(shù)據(jù),可以是不同的數(shù)據(jù)類型,支持嵌套
1.2 列表嵌套的格式
#列表格式(語法) #字面量 [[元素1,元素2],[元素3,元素4],···] #定義變量 變量名稱=[[元素1,元素2],元素3,元素4,···]
1.3 列表的下標(biāo)索引
列表的每一個(gè)元素都有其對應(yīng)的下標(biāo)索引,從左到右,從0開始依次遞增,可以理解range包頭不包尾


1.4 列表的常用方法
將函數(shù)定義為類(class),函數(shù)就會被稱為:方法
#以上次定義的add函數(shù)舉例分析不同
def add(x,y) 函數(shù)
ruturn x+y
調(diào)用方法:num=add(1.2)
函數(shù)改為下面形式就被稱為方法
class Student:
def add(self,x,y): 放入class內(nèi)部為方法
ruturn x+y
調(diào)用方法:Student=Student()
num=Student.add(1,2) 對于函數(shù)的調(diào)用我們要用點(diǎn)才能去用1.4.1 確認(rèn)某元素是否在列表內(nèi)
語法:元素 in 列表變量(在里面給True,不在給False)
age=[18,[21,22],45,[66,81]] print(18 in age) 運(yùn)行結(jié)果:True
1.4.2 查找某元素下標(biāo)
語法:列表名稱.index (注意有.)(index是列表內(nèi)置自帶的方法)
age=[18,[21,22],45,[66,81]]
print(age.index(18))
print(age.index([21,22]))
運(yùn)行結(jié)果:0
11.4.3 插入元素
語法: 列表.insert(下標(biāo),元素),在指定位置輸入指定元素,當(dāng)下標(biāo)超出列表索引范圍,則相當(dāng)于在尾部新增一個(gè)元素
sum=[1,2,3,4] sum.insert(1,'今天天氣真好') print(sum) 運(yùn)行結(jié)果:[1,'今天天氣真好',2,3,4]
1.4.4 追加尾數(shù)(2種方法)
(1)一個(gè)的語法: 列表.append(元素) 將一個(gè)指定元素追加到列表尾部。
num=[1,2,3,4]
num.append('我喜歡小貓')
print(num)
運(yùn)行結(jié)果:[1,2,3,4,'我喜歡小貓'](2)一批的語法: 列表.extend(其他數(shù)據(jù)容器)
加一批進(jìn)去,將其他數(shù)據(jù)容器的內(nèi)容取出,依次追加到列表尾部
num=[1,2,3,4] num.extend([1,5,8,9]) print(num) 運(yùn)行結(jié)果:[1,2,3,4,1,5,8,9]
1.4.5 刪除元素(2種方法)
語法1(刪除指定元素): del列表[下標(biāo)]
語法2(刪除指定元素): 列表.pop(下標(biāo))
與del不同的是,pop有返回值,返回的是:被刪除的元素,如果需要的話可以用變量接受它
num=[1,2,3,4,5,6] del num[0] num.pop(4) print(num) 運(yùn)行結(jié)果:[2,3,4,5]
語法3(刪除某元素在列表中第一個(gè)匹配項(xiàng)):
num=[1,7,5,3,4,5,5] num.remove(5) print(num.remove(5)) 運(yùn)行結(jié)果:[1,7,3,4,5,5]
1.4.6 清空列表
語法: 列表.clear()
num=[1,2,3,4,5,6] num.clear() print(num) 運(yùn)行結(jié)果:[]
1.4.7 修改特定位置(索引)的元素值
語法: 列表[下標(biāo)]=值,用該語法,直接指定下標(biāo)(反向/正向)進(jìn)行重新賦值
num=[1.2.3] num[0]=5 print(num) 運(yùn)行結(jié)果:[5,2,3] num[-2]=10 print(num) 運(yùn)行結(jié)果:[5,10,3]
1.4.8 統(tǒng)計(jì)元素列表個(gè)數(shù)
1.語法(統(tǒng)計(jì)某元素在列表中的個(gè)數(shù)): 列表.count(元素)
num=[1,7,7,3,4,5,5] num.count(7) print(num.count(7)) 運(yùn)行結(jié)果:2
2.語法(統(tǒng)計(jì)列表總共多少元素):len(列表) 這個(gè)是python內(nèi)置函數(shù)統(tǒng)計(jì)一切個(gè)數(shù)
num=[1,2,3,4,5,6,7,8,9] len(num) print(len(num)) 運(yùn)行結(jié)果:9
1.5 總結(jié)(不能死記硬背)

1.6 列表的遍歷
遍歷/迭代:數(shù)據(jù)容器可以儲存多個(gè)數(shù)據(jù),有需求依次從容器內(nèi)取出元素的操作,稱為:遍歷/迭代。
1.6.1 while循環(huán)遍歷列表元素
語法(控制循環(huán)條件實(shí)現(xiàn)遍歷):控制因子<len(列表):
num=[1,3,5,7]
i=0 #控制因子
while(i<len(num)):
print('喜歡晴天')
i+=1 #因子更新
運(yùn)行結(jié)果:'喜歡晴天'
'喜歡晴天'
'喜歡晴天'
'喜歡晴天'1.6.2 for循環(huán)遍歷列表元素
語法: for 臨時(shí)變量 in數(shù)據(jù)容器:
對臨時(shí)變量(元素)進(jìn)行處理
num=[1,3,5,7,9]
i=0
for i in num:
print(i)
運(yùn)行結(jié)果:1 注意:i在for循環(huán)中是循環(huán)變量,會依次取列表num里的元素
3 和之前的i=0沒有關(guān)系
5
7
9對比:for循環(huán)更合適對列表等數(shù)據(jù)容器進(jìn)行遍歷(更加簡單)。
2.元組(tuple):元組一旦定義完成,就不可修改。
2.1 元組定義格式:
#定義元組字面量
(元素,元素,···,元素)
#定義元組變量
變量名稱=(元素,元素,···,元素)
#定義空元組
變量名稱=()
變量名稱=tuple()
#特殊:定義一個(gè)元素的元組
變量名稱=('你好',) 1.字符記得加引號
2.數(shù)據(jù)后要帶逗號,否則不是元組類型2.2 元組嵌套(說明元組也有下標(biāo),可以通過下標(biāo)取值)
#元組嵌套 num=(1,(2,3,4),5,(6,7),8) #通過下標(biāo)取值 print(num[1][1]) 運(yùn)行結(jié)果: 3
2.3 元組相關(guān)操作(3個(gè)用法和列表使用語法一樣):
1.index() 2.count() 3.len()

2.4 元組不能改值,但是元組內(nèi)部列表(list)是可以動的
num=(1,2,3,4,[5,6,7],8) num[4][1]=99 print(num) 除此以外列表的其他功能也可以用 運(yùn)行結(jié)果:(1,2,3,[5,99,7],8)
2.5 元組的遍歷
while和for循環(huán)遍歷它:與遍歷列表一樣,但是唯一不同的一個(gè)是[ ],一個(gè)是(),格式一樣
2.6 元組與列表的唯一區(qū)別
列表可以修改元素,元組不可以,另外還有符號區(qū)別,其他都一樣
3.字符串(str):與元組一樣不可修改
定義:可以存放任意數(shù)量字符的容器,無法修改的數(shù)據(jù)容器
3.1下標(biāo)操作:
a="loveyou"
print(a[2])
print(a[-3])
運(yùn)行結(jié)果:v
y3.2字符串常用操作總結(jié)
a="loveyou愛你"
#1. 查找符合值的下標(biāo)
print(a.inpex("愛你")) 運(yùn)行結(jié)果:7
#2. 字符串替換,將字符串內(nèi)的字符(符號)替換成其他符號
a="love|you|愛你"
a2=a.replace(_old:"|",_new:",")
print(a2) 運(yùn)行結(jié)果:"love,you,愛你"
print(a) 運(yùn)行結(jié)果:"love|you|愛你"
#字符串本身無法修改,replace函數(shù)是返回一個(gè)修改后的字符串
#3. 字符串的分割split(分隔符)
按指定分隔符將字符串分隔成子串封裝進(jìn)列表
a="love|you|愛你"
num=a.split("|")
print(num) 運(yùn)行結(jié)果:['love','you','愛你']
#4. 字符串的規(guī)整操作
(去前后空格)
a=" love|you|愛你 "
print(a.strip()) 運(yùn)行結(jié)果:"love|you|愛你"
(去前后指定字符串)
a="love|you|愛愛你你"
print(a.strip(愛你)) 運(yùn)行結(jié)果:"love|you|"
#5. 統(tǒng)計(jì)字符串某字符出現(xiàn)次數(shù)
a="veryloveyou愛你"
print(a.count("v")) 運(yùn)行結(jié)果: 2
#6. 統(tǒng)計(jì)字符串長度
a="love|you|愛你"
num=len(a)
print(num) 運(yùn)行結(jié)果:103.3 字符串遍歷,于列表一樣
補(bǔ)充:序列的切片語法




4.集合(set)
特點(diǎn):不支持元素的重復(fù)(自帶去重功能),并且內(nèi)容無序,因?yàn)榧鲜菬o序的,所以不支持下標(biāo)索引,允許修改
4.1 定義語法:
#定義語法
{元素,元素,···,元素}
#定義集合變量
變量名稱={元素,元素,···,元素}
#定義空集合
變量名稱=set()4.2 去重?zé)o序:
a={"aaa","aaa","bbb","ccc"}
print(a)
因?yàn)槿ブ責(zé)o須
運(yùn)行結(jié)果:{"ccc","aaa","bbb"}4.3 集合常用操作
4.3.1 . 添加新元素(語法:集合.add(元素))
a={"loveyou"} 注意:只能添加,不知道添加到哪一個(gè)位置
a.add("愛你")
print(a)
運(yùn)行結(jié)果:{"loveyou","愛你"} 4.3.2. 移除元素(語法:集合.remove(元素))
a={"aaa","aaa","bbb","ccc"}
a.remove("aaa")
print(a) 注意是無序的
運(yùn)行結(jié)果:{"ccc","bbb"}4.3.3.從集合隨機(jī)取出元素(語法:集合.pop())與列表一樣,但是由于無序所以不能指定取數(shù),變無序取了
4.4.4. 清空集合(語法:集合.clear())

4.4.5.(取出///消除)兩個(gè)集合的差值


4.4.6.集合合并

4.4.7.集合功能總結(jié)

4.4.8 只支持for循環(huán)遍歷

5.字典(dict)
5.1 字典的語法定義(同樣是{},但是每一個(gè)元素是鍵值對)
#定義字典字面量
{key:vlue,key:vlue,key:vlue,···,key:vlue}
#定義字典變量
a={key:vlue,key:vlue,key:vlue,···,key:vlue}
#定義空字典
a={}
a=dict{}key不可重復(fù),重復(fù)會對原有數(shù)據(jù)覆蓋
字典和集合一樣,不可以使用下標(biāo)索引。語法:字典可以通過key取到對應(yīng)的value(檢索)
key可以是任意類型(不可以是數(shù)據(jù)容器)
value可以是任意類型(可以是數(shù)據(jù)容器)
5.2 字典常用操作





5.3 字典的特點(diǎn)

6. 數(shù)據(jù)容器對比







到此這篇關(guān)于python數(shù)據(jù)容器總結(jié)介紹的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 數(shù)據(jù)處理更容易的12個(gè)輔助函數(shù)總結(jié)
Python的產(chǎn)生似乎就是專門用來處理數(shù)據(jù)的,順理成章的成為大數(shù)據(jù)的主流語言,本文介紹十二個(gè)函數(shù)輔助你更容易更便捷的用Python進(jìn)行數(shù)據(jù)處理2021-11-11
python BlockingScheduler定時(shí)任務(wù)及其他方式的實(shí)現(xiàn)
這篇文章主要介紹了python BlockingScheduler定時(shí)任務(wù)及其他方式的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
python中的tkinter庫彈窗messagebox詳解
這篇文章主要介紹了python中的tkinter庫彈窗messagebox,包括消息提示框、消息警告框、錯(cuò)誤消息框,通過代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-06-06
Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法
Excel文件是傳統(tǒng)的數(shù)據(jù)格式,但面對海量數(shù)據(jù)時(shí),用編程的方法來處理數(shù)據(jù)更有優(yōu)勢,下面這篇文章主要給大家介紹了關(guān)于Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法,需要的朋友可以參考下2022-02-02
使用Python實(shí)現(xiàn)對比兩個(gè)PDF文檔的差異
在文檔版本管理、合同審核、報(bào)告校對等場景中,準(zhǔn)確識別兩個(gè)?PDF?文件之間的差異是一項(xiàng)常見需求,本文介紹如何利用?Spire.PDF?for?Python?庫,通過編程方式自動化完成?PDF?文檔的差異對比工作,希望對大家有所幫助2026-04-04

