python中的數(shù)據(jù)結(jié)構(gòu)比較
列表:list=[val1,val2]
1.列表中的每一個(gè)元素都是可變的,有序的,可以被查看索引的。
可變意味著可以對(duì)每個(gè)元素進(jìn)行增刪改查的操作,列表中的元素可以是Python中的任何對(duì)象
(1)創(chuàng)建列表的方法:
一.是用方括號(hào)[]直接賦值,賦一組以逗號(hào)隔開的值;
newlist=[1,2,3] print(newlist) #[1, 2, 3] print(type(newlist)) #查看類型為:<class 'list'>
二.是調(diào)用list函數(shù)進(jìn)行定義。
tup=('q','w','e') print(type(tup)) #<class 'tuple'> change_tup=list(tup) print(type(change_tup))#<class 'list'>
(2)增加操作
一.通過(guò)append方法,可以將元素添加到列表的末尾
change_tup.append('f') print(change_tup) #['q', 'w', 'e', 'f']
二.利用insert可以將元素插入到列表的指定位置
change_tup.insert(0,'a') print(change_tup) #['a', 'q', 'w', 'e', 'f']
三.extend將指定序列的元素依次追加到列表的尾部(合并),
不會(huì)去重復(fù)內(nèi)容
addlist=['b','c','a'] change_tup.extend(addlist) print(change_tup) #['a', 'e', 'f', 'b', 'c', 'a']
(3)刪除操作
一.pop用于刪除除并返回指定索引處的元素
change_tup.pop(1) print(change_tup) #['a', 'w', 'e', 'f']
二.remove用于按值刪除元素,它找到第一個(gè)符合要求的值
然后將其從列表中刪除
change_tup.remove('w') print(change_tup) #['a', 'e', 'f']
三.del刪除整個(gè)列表或列表的數(shù)據(jù),del 是 python 內(nèi)置功能,
不是列表獨(dú)有的
del change_tup[-1] print(change_tup)#['a', 'e', 'f', 'b', 'c']
(4)查找操作
index(元素名):獲取查詢?cè)卦诹斜碇械乃饕?br /> count(元素名):統(tǒng)計(jì)某元素在列表中出現(xiàn)的次數(shù)
if 某元素 in 列表名:判斷某元素是否在列表內(nèi)
(5)修改操作
list[index] = value
reverse():反轉(zhuǎn)列表
sort():從原列表上按從小到大排序
sorted(列表名)生成新列表按從小到大進(jìn)行排序
(6)特殊操作
max(列表名):最大值
min(列表名):最小值
字典:dict={key1:val1,key2:val2}
1.字典中的值是可變的,無(wú)序的。
2.字典中的數(shù)據(jù)必須以鍵值對(duì)的形式出現(xiàn)
3.鍵不可重復(fù),值可重復(fù)
4.字典中鍵(key)是不可變的,為不可變對(duì)象,不能進(jìn)行修改;而值(value)是可以修改的,可以是任何對(duì)象。
(1)增加操作
變量名[key]=value 通過(guò) key 添加 value 值,如果 key 存在則覆蓋
setdefault(key,default_value) 指定 key 和 value,如果 key 存在則覆蓋
(2)刪除操作
pop 彈出,返回并刪除指定鍵對(duì)應(yīng)的值
popitem 隨機(jī)彈出一個(gè)鍵值元組,這里隨機(jī)的原因是因?yàn)樽值錈o(wú)序
clear 清空字典
(3)修改操作
變量名[key]=value 通過(guò) key 添加 value 值,如果 key 存在則覆蓋
update() 傳遞一個(gè)字典,如果 key 相同則覆蓋,沒有的 key 則添加
(4)查找操作
keys 返回一個(gè)包含字典所有 key 的列表
values 返回一個(gè)包含字典所有 vaule 的列表
get 以鍵取值,如果指定鍵不存在,默認(rèn)返回 None,可以指定返回內(nèi)容
update 以字典格式更新指定鍵的內(nèi)容,如果鍵不存在,創(chuàng)建鍵和值
items 返回字典鍵值呈元組形式的格式
元組:tuple=(val1,val2)
1.元組是不可修改,但可以被查看索引的
2.空的tuple可以記為(),若只有一個(gè)元素的tuple記為(1,)
(1)枚舉
遍歷的時(shí)候使用:重新生成下標(biāo)和元素的元組
t=(1,2,3) for i in enumerate(t): print(i)#(0, 1)(1, 2)(2, 3)
(2)查找操作
index(元素名) 從左往右返回第一個(gè)遇到的指定元素的索引,如果沒有,報(bào)錯(cuò)
count(元素名) 返回元組當(dāng)中指定元素的個(gè)數(shù)
(3)應(yīng)用場(chǎng)景
字符串格式化需要使用元組
函數(shù)返回多個(gè)返回值時(shí)返回的是元組類型
一些內(nèi)置函數(shù)的返回值是元組類型
集合:set={val1,val2}
1.集合中是不可變的,無(wú)序的。
1.集合更接近數(shù)學(xué)上集合的概念。集合中每個(gè)元素都是無(wú)序的、不重復(fù)的任意對(duì)象。
2.集合不能被切片,不能被索引,除了做集合運(yùn)算之外,集合元素可以被添加和刪除。
(1)增加操作
add(elem) update([elem]/(elem)/'elem')
(2)刪除操作
remove(elem) discard(elem) pop() clear()
(3)查找操作
in
not in
(4)使用場(chǎng)景
去重
5.其他方法
1.查各個(gè)數(shù)據(jù)長(zhǎng)度:
len(類型名)
2.數(shù)據(jù)類型是否可變
可變定義:當(dāng)該數(shù)據(jù)類型的對(duì)應(yīng)變量的值發(fā)生了改變,那么它對(duì)應(yīng)的內(nèi)存地址不發(fā)生改變
可變:列表,字典 ,集合
不可變:數(shù)字,字符串,元組
3.列表,元組,集合的解包
a,*b = [1,2,3] a=1,b=2,3 *a,b = [1,2,3] a=1,2 b=3
以列表為列子,其他兩種類型同理
4,列表,元組的合并和重復(fù)
l1=[1,2] l2=[3,4] print(l1+l2) print(l1*2)
總結(jié)
以上所述是小編給大家介紹的python中的數(shù)據(jù)結(jié)構(gòu)比較,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Python數(shù)據(jù)結(jié)構(gòu)之圖的應(yīng)用示例
- Python數(shù)據(jù)結(jié)構(gòu)之哈夫曼樹定義與使用方法示例
- Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的最短路徑(Dijkstra算法)完整實(shí)例
- Python數(shù)據(jù)結(jié)構(gòu)與算法之列表(鏈表,linked list)簡(jiǎn)單實(shí)現(xiàn)
- python數(shù)據(jù)結(jié)構(gòu)之列表和元組的詳解
- Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph)實(shí)例分析
- python數(shù)據(jù)結(jié)構(gòu)鏈表之單向鏈表(實(shí)例講解)
- Python實(shí)現(xiàn)列表轉(zhuǎn)換成字典數(shù)據(jù)結(jié)構(gòu)的方法
- 棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn)
相關(guān)文章
Python動(dòng)態(tài)規(guī)劃之零錢兌換問(wèn)題詳解
這篇文章主要介紹了Python動(dòng)態(tài)規(guī)劃之零錢兌換問(wèn)題詳解,這次我們就按照套路模板,再來(lái)剖析一道經(jīng)典動(dòng)規(guī)題目零錢兌換,計(jì)算并返回可以湊成總金額所需的 最少的硬幣個(gè)數(shù) 如果沒有任何一種硬幣組合能組成總金額,返回-1,需要的朋友可以參考下2023-11-11django drf框架中的user驗(yàn)證以及JWT拓展的介紹
這篇文章主要介紹了django drf框架中的user驗(yàn)證以及JWT拓展的介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python使用pika庫(kù)調(diào)用rabbitmq交換機(jī)模式詳解
這篇文章主要介紹了python使用pika庫(kù)調(diào)用rabbitmq交換機(jī)模式詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-08-08python實(shí)現(xiàn)代理服務(wù)功能實(shí)例
本文分析了代理服務(wù)的原理,并使用PYTHON實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的代理服務(wù)功能供大家參考使用2013-11-11Python如何使用BeautifulSoup爬取網(wǎng)頁(yè)信息
這篇文章主要介紹了Python如何使用BeautifulSoup爬取網(wǎng)頁(yè)信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11解決python3 json數(shù)據(jù)包含中文的讀寫問(wèn)題
這篇文章主要介紹了解決python3 json數(shù)據(jù)包含中文的讀寫問(wèn)題,需要的朋友可以參考下2021-05-05tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例
今天小編就為大家分享一篇tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python圖像的增強(qiáng)處理操作示例【基于ImageEnhance類】
這篇文章主要介紹了Python圖像的增強(qiáng)處理操作,結(jié)合實(shí)例形式分析了使用ImageEnhance類處理圖片的亮度、對(duì)比度、色度以及銳度等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01