Python基礎(chǔ)之?dāng)?shù)據(jù)結(jié)構(gòu)詳解
一、列表
創(chuàng)建一個(gè)列表,只要把逗號(hào)分隔的不同的數(shù)據(jù)項(xiàng)使用方括號(hào)括起來
示例: list01 = ['a','b','c']
1.1 列表更新元素
一個(gè)列表是可以儲(chǔ)存不同的類型的數(shù)據(jù)結(jié)構(gòu),并且修改的新元素也不一定需要和原來的元素類型一致,但是要注意的是,更新列表的索引必須是已存在的索引,不能對(duì)超出列表的索引更新元素
1.2 列表增加元素
增加元素的方法:
1.append方法:在列表的最后增加一個(gè)元素。
list01 = ['a', 'b', 'c'] list01 .append('d') print(list01) list01 .append(['e', 'f']) print(list01) 執(zhí)行結(jié)果: ['a', 'b', 'c', 'd'] ['a', 'b', 'c', 'd', ['e', 'f']]
2.extend方法:在列表的最后增加多個(gè)元素。
list01 = ['a', 'b', 'c'] list01 .extend(['d', 'e', 'f']) print(list01) 執(zhí)行結(jié)果: ['a', 'b', 'c', 'd', 'e', 'f']
3.insert方法:在列表的中間插入一個(gè)元素。
list01 = ['a', 'b', 'c'] list01 .insert(1,'d') print(list01) 執(zhí)行結(jié)果: ['a', 'd', 'b', 'c']
1.3 列表刪除元素
刪除元素的方法:
1.pop方法:pop(index)可以刪除指定位置的元素,并且把這個(gè)元素作為返回值返回,如果不指定位置則默認(rèn)選擇最后一個(gè)元素。
list01 = ['a', 'b', 'c'] list01 .pop() print(list01) list01 .pop(0) print(list01) 執(zhí)行結(jié)果: ['a', 'b'] ['b']
2.remove方法:可以根據(jù)元素內(nèi)容對(duì)元素進(jìn)行刪除。
list01 = ['a', 'b', 'c'] list01.remove('a') print(list01) 執(zhí)行結(jié)果: ['b', 'c']
3.del方法:還可以使用關(guān)鍵字“del”根據(jù)索引刪除列表的元素。
list01 = ['a', 'b', 'c'] print(list01) del list01 [0] print(list01) 執(zhí)行結(jié)果: ['a', 'b', 'c'] ['b', 'c']
1.4 列表的其他操作
1.index方法:查找元素在列表中的索引位置。
list01 = ['a', 'b', 'c'] print(list01 .index('a')) print(list01 .index('b')) 執(zhí)行結(jié)果: 0 1
2.reverse方法:反轉(zhuǎn)隊(duì)列,反轉(zhuǎn)原來的隊(duì)列,并且沒有返回值。
list01 = ['a', 'b', 'c'] list01 .reverse() print(list01) 執(zhí)行結(jié)果: ['c', 'b', 'a']
3.count方法:統(tǒng)計(jì)某個(gè)元素在列表中的次數(shù)。
list01 = ['a', 'b', 'c','b', 'c'] print(list01 .count('a')) print(list01 .count('b')) 執(zhí)行結(jié)果: 1 2
4.sort方法:隊(duì)列表進(jìn)行排序,還可以自定義排序方式。
list02 = [1,88,66,22] list02.sort() print(list02) 執(zhí)行結(jié)果: [1, 22, 66, 88]
二、元組
創(chuàng)建一個(gè)元組,只要把逗號(hào)分隔的不同的數(shù)據(jù)項(xiàng)使用小括號(hào)括起來
如果元組中只有一個(gè)元素,還需要元素后加上“,”,才能定義一個(gè)元組
tuple01 = ('a','b','c')
2.1 刪除元組
由于元組是不能修改的,所以元組也不能單獨(dú)刪除,只能刪除整個(gè)元組
1.del方法:刪除整個(gè)元組
tuple01 = ('a','b','c') del tuple01 print(tuple01) 執(zhí)行結(jié)果: 發(fā)生異常: NameError name 'tuple01' is not defined 發(fā)生異常是正確的,說明tuple01 已經(jīng)被刪除了
2.2 元組的其他操作
1.count方法:用于統(tǒng)計(jì)元素在元組中出現(xiàn)的次數(shù)
tuple02 = ('a', 'b', 'c','b', 'c') print(tuple02.count('a')) print(tuple02.count('b')) 執(zhí)行結(jié)果: 1 2
2.index方法:用于查找元素在元組中的索引位置
tuple02 = ('a', 'b', 'c','b', 'c') print(tuple02.index('a')) print(tuple02.index('b')) 執(zhí)行結(jié)果: 0 1
3.len方法:計(jì)算元組元素個(gè)數(shù)
tuple02 = ('a', 'b', 'c','b', 'c') print(len(tuple02)) 執(zhí)行結(jié)果: 5
4.max,min方法返回元組中最大,最小的值
tuple02 = (1, 88, 66, 22) print(max(tuple02)) print(min(tuple02)) 執(zhí)行結(jié)果: 88 1
三、字典
字典是另一種可變?nèi)萜髂P停铱纱鎯?chǔ)任意類型對(duì)象。字典的每個(gè)鍵值 key=>value 對(duì)用冒號(hào) : 分割,每個(gè)對(duì)之間用逗號(hào)(,)分割,整個(gè)字典包括在花括號(hào) {} 中。
dict01 = {'a':'深圳','b':22,'c':22.22}
3.1 字典刪除元素
1.del方法:使用關(guān)鍵字“del”根據(jù)鍵刪除列表的元素
dict01 = {'a':'深圳','b':22,'c':22.22} print(dict01) del dict01['a'] print(dict01) 執(zhí)行結(jié)果: {'a': '深圳', 'b': 22, 'c': 22.22} {'b': 22, 'c': 22.22}
3.2 字典的其他操作
1.clear方法:用于清空字典里的所有元素,使字典變?yōu)榭兆值洹?/p>
dict01 = {'a':'深圳','b':22,'c':22.22} print(dict01) dict01.clear() print(dict01) 執(zhí)行結(jié)果: {'a': '深圳', 'b': 22, 'c': 22.22} {}
2.copy方法:返回一個(gè)具有相同鍵值對(duì)的新字典。
dict01 = {'a':'深圳','b':22,'c':22.22} print(dict01) dict01.copy() print(dict01) 執(zhí)行結(jié)果: {'a': '深圳', 'b': 22, 'c': 22.22} {'a': '深圳', 'b': 22, 'c': 22.22}
3.fromkeys方法:用于創(chuàng)建一個(gè)新字典,用序列中的元素作為字典的鍵,第二個(gè)參數(shù)為字典所有參數(shù)對(duì)應(yīng)的初始值。
tuple01 = ("name","age","city") hunan1 = dict.fromkeys(tuple01) human2 = dict.fromkeys(tuple01,20) print(hunan1) print(human2) 執(zhí)行結(jié)果: {'name': None, 'age': None, 'city': None} {'name': 20, 'age': 20, 'city': 20}
4.get方法:返回鍵對(duì)應(yīng)的值,如果字典不存在對(duì)應(yīng)的鍵則返回none
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22} print(dict01.get('a')) print(dict01.get('d')) 執(zhí)行結(jié)果: 深圳 None
5.keys方法:返回一個(gè)列表,里面包含了字典里的所有鍵
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22} print(dict01.keys()) 執(zhí)行結(jié)果: dict_keys(['a', 'b', 'c'])
6.valuse方法:返回一個(gè)列表,里面包含了字典的所有值
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22} print(dict01.values()) 執(zhí)行結(jié)果: dict_values(['深圳', 22, 22.22])
7.items方法:返回一個(gè)列表,里面包含了所有鍵值對(duì)的列表
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22} print(dict01.items()) 執(zhí)行結(jié)果: dict_items([('a', '深圳'), ('b', 22), ('c', 22.22)])
還可以使用items方法來遍歷字典
dict01 = {'a': '深圳', 'b': 22, 'c': 22.22} for k, v in dict01.items(): print(k,v) 執(zhí)行結(jié)果: a 深圳 b 22 c 22.22
四、集合
集合(set)是一個(gè)無序的不重復(fù)元素序列。可以使用大括號(hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來創(chuàng)建一個(gè)空字典。
set01 = {1, 2, 2, 2, 2, 3, } print(set01) set02 = {1, 2, 3, } print(set02) 執(zhí)行結(jié)果: {1, 2, 3} {1, 2, 3}
4.1 集合添加元素
1.add方法:為集合添加一個(gè)元素
set01 = {1, 2, 3} set01.add(4) set01.add(3) print(set01) 執(zhí)行結(jié)果: {1, 2, 3, 4}
4.2 集合刪除元素
1.remove方法:為集合刪除一個(gè)元素
set01 = {1, 2, 3} set01.remove(1) print(set01) 執(zhí)行結(jié)果: {2, 3}
五、其他操作
1.clear() 移除集合中的所有元素 2.copy() 拷貝一個(gè)集合 3.difference() 返回多個(gè)集合的差集 4.difference_update() 移除集合中的元素,該元素在指定的集合也存在。 5.discard() 刪除集合中指定的元素 6.intersection() 返回集合的交集 7.intersection_update() 返回集合的交集。 8.isdisjoint() 判斷兩個(gè)集合是否包含相同的元素,如果沒有返回 True,否則返回 False。 9.issubset() 判斷指定集合是否為該方法參數(shù)集合的子集。 10.issuperset() 判斷該方法的參數(shù)集合是否為指定集合的子集 11.pop() 隨機(jī)移除元素 12.symmetric_difference() 返回兩個(gè)集合中不重復(fù)的元素集合。 13.symmetric_difference_update() 移除當(dāng)前集合中在另外一個(gè)指定集合相同的元素,并將另外一個(gè)指定集 14.合中不同的元素插入到當(dāng)前集合中。 15.union() 返回兩個(gè)集合的并集 16.update() 給集合添加元素
到此這篇關(guān)于Python基礎(chǔ)之?dāng)?shù)據(jù)結(jié)構(gòu)詳解的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)結(jié)構(gòu)詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何用Python做一個(gè)微信機(jī)器人自動(dòng)拉群
這篇文章主要介紹了如何用Python做一個(gè)微信機(jī)器人自動(dòng)拉群,微當(dāng)群人數(shù)達(dá)到100人后,用戶無法再通過掃描群二維碼加入,只能讓用戶先添加群內(nèi)聯(lián)系人微信,再由聯(lián)系人把用戶拉進(jìn)來。這樣,聯(lián)系人員的私人微信會(huì)添加大量陌生人,給其帶來不必要的打擾,需要的朋友可以參考下2019-07-07Python利用Selenium實(shí)現(xiàn)網(wǎng)站自動(dòng)簽到功能
小編了解到了python的selenium庫對(duì)于自動(dòng)化測(cè)試的初學(xué)者很容易上手,今天就借這篇文章給大家介紹Python利用Selenium實(shí)現(xiàn)網(wǎng)站自動(dòng)簽到功能,感興趣的朋友一起看看吧2021-09-09python opencv設(shè)置攝像頭分辨率以及各個(gè)參數(shù)的方法
下面小編就為大家分享一篇python opencv設(shè)置攝像頭分辨率以及各個(gè)參數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Windows中安裝使用Virtualenv來創(chuàng)建獨(dú)立Python環(huán)境
有時(shí)我們的程序中需要調(diào)用不同版本的Python包和模塊,那么借助Virtualenv的虛擬環(huán)境就可以幫助我們隔離使用,接下來我們就來看一下在Windows中安裝使用Virtualenv來創(chuàng)建獨(dú)立Python環(huán)境的方法2016-05-05Django1.11配合uni-app發(fā)起微信支付的實(shí)現(xiàn)
這篇文章主要介紹了Django1.11配合uni-app發(fā)起微信支付的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Python函數(shù)sort()與sorted()的區(qū)別及key=lambda?x:x[]的理解
這篇文章主要介紹了Python函數(shù)sort()與sorted()的區(qū)別及key=lambda?x:x[]的理解方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08