Python中的數(shù)據(jù)結(jié)構(gòu)有哪些-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Python中的數(shù)據(jù)結(jié)構(gòu)有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),創(chuàng)新互聯(lián)面向各種領(lǐng)域:玻璃貼膜成都網(wǎng)站設(shè)計(jì)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。

一、序列結(jié)構(gòu)

首先介紹的數(shù)據(jù)結(jié)構(gòu)是序列結(jié)構(gòu),所謂序列,也就是元素順序是很重要的,不同元素順序的序列是不同的序列。Python中含有六種內(nèi)建的序列結(jié)構(gòu),分別是list、tuple、string、unicode、buffer、xrange。

1.1、list(列表)

list,列表是一種序列,可以看做是一種數(shù)組,但不同的于其它語(yǔ)言的是,Python列表中的元素可以是任何數(shù)據(jù)類(lèi)型,諸如,數(shù)字、字符串等等。

下面為創(chuàng)建list結(jié)構(gòu)的幾種方式:

//1.通過(guò)中括號(hào)括起已知的元素創(chuàng)建list 
mylist = ['orange', 'apple', 1,2,3.14]; 
//2.通過(guò)中括號(hào)創(chuàng)建空l(shuí)ist,然后用append()追加動(dòng)態(tài)元素 
mylist = []; 
mylist.append('orange'); 
//3.通過(guò)list()方法創(chuàng)建空l(shuí)ist 
mylist = list();

選取list元素的方法:

//通過(guò)中括號(hào)加下對(duì)應(yīng)下標(biāo)選取,下標(biāo)從0開(kāi)始,-1為倒數(shù)第一個(gè)元素,以此類(lèi)推 
mylist[0]; 
mylist[-1];

切片是Python中序列結(jié)構(gòu)獨(dú)有的一種操作,意思是從序列中選取一個(gè)子序列,凡是序列均可切片,list是序列,所以list可以切片。切片方法:

//通過(guò)[begin:end]方式完成切片 
mylist = [1,2,3,4,5]; 
mylist[0:2]; //生成的序列為[1,2,3]

list常用方法:

  • list.append(x),在列表的末尾添加一個(gè)元素。

  • list.insert(i, x),在給定的位置插入一個(gè)元素,第一個(gè)參數(shù)是要插入的元素的索引。

  • list.remove(x),移除列表中第一個(gè)值為 x 的元素,如果沒(méi)有這樣的元素,則拋出異常。

  • list.clear(),刪除列表中所有的元素。

  • list.index(x),返回列表中第一個(gè)值為 x 的元素的從零開(kāi)始的索引,如果沒(méi)有這樣的元素,則拋出異常。

  • list.count(x),返回元素 x 在列表中出現(xiàn)的次數(shù)。

  • list.reverse(),反轉(zhuǎn)列表中的元素。

機(jī)器學(xué)習(xí)

1.2、tuple(元組)

tuple,元組和列表一樣,都以看做是一種數(shù)組,元素可以是任何數(shù)據(jù)類(lèi)型,甚至可以嵌套。唯一的區(qū)別是,元組內(nèi)的元素一旦創(chuàng)建,是不可修改的,也不可追加。并且元組使用小括號(hào)創(chuàng)建,同樣元組可切片,切片方法同list。

//1.通過(guò)小括號(hào)括起已知的元素創(chuàng)建tuple 
mytuple = (1, 3, 'hello!') 
//2.不可以用append()往tuple追加,因?yàn)閠uple一旦創(chuàng)建,不可變更

獲取tuple中的元素:

//和列表一樣,通過(guò)中括號(hào)加下對(duì)應(yīng)下標(biāo)選取,下標(biāo)從0開(kāi)始,-1為倒數(shù)第一個(gè)元素,以此類(lèi)推 
mytuple[0]; 
mytuple[-1];

1.3、string,unicode,buffer,xrange

這四個(gè)也是序列,做科學(xué)計(jì)算由于不太常用,不做太多介紹。

string可以看成是少量單個(gè)字符構(gòu)成的list,如:

mystring = 'orange'; 
mylist = ['o','r','a','n','g','e'];

由于string也是序列,所以也可以切片,切片就當(dāng)做單個(gè)字符構(gòu)成的list切片即可,很多原理類(lèi)似,不做過(guò)多介紹。

unicode和string類(lèi)似,不過(guò)可以支持原生unicode編碼的序列,如\\u4f60\\u597d。

buffer可以看成大量字符構(gòu)成的list。

xrange可以看成純數(shù)字構(gòu)成的list。

科學(xué)計(jì)算

二、散列結(jié)構(gòu)

所謂散列結(jié)構(gòu),區(qū)別于上述序列結(jié)構(gòu),散列結(jié)構(gòu)中,元素順序是不重要的,順序不同的散列,還是同一個(gè)散列。散列結(jié)構(gòu)有set、dict。

2.1、set(集合)

set,集合,集合是由不重復(fù)元素組成的無(wú)序的集,重點(diǎn)是不重復(fù),和數(shù)學(xué)中的集合類(lèi)似。無(wú)序是散列結(jié)構(gòu)的特點(diǎn),集合是一種散列結(jié)構(gòu),所以集合也有無(wú)序的特點(diǎn)。

創(chuàng)建set的方法:

//和list很類(lèi)似,可對(duì)應(yīng)參考 
//1.通過(guò)大括號(hào)括起已知的元素創(chuàng)建set 
myset = {'red','blue',2.71}; 
//2.通過(guò)set()方法創(chuàng)建空set,注意不能用{}創(chuàng)建空set,這樣創(chuàng)建的是空dict 
//3.然后用add()添加動(dòng)態(tài)元素,注意不是append 
myset = set(); 
myset.add('yellow'); 
Python的set集合可以支持并集,交集,差集,對(duì)稱(chēng)差等數(shù)學(xué)運(yùn)算:

//創(chuàng)建集合a 
a = set('abracadabra'); 
//創(chuàng)建集合b 
b = set('alacazam'); 
------------------ 
print(a) 
//結(jié)果:{'a', 'r', 'b', 'c', 'd'} 
------------------ 
print(a - b); //差集 
//結(jié)果:{'r', 'd', 'b'} 
------------------ 
print(a | b); //并集 
//結(jié)果:{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} 
------------------ 
print(a & b); //交集 
//結(jié)果:{'a', 'c'} 
------------------ 
print(a ^ b); //對(duì)稱(chēng)差 
//結(jié)果:{'r', 'd', 'b', 'm', 'z', 'l'}

set常用方法:

  • set.remove(x),移除集合中值為 x 的元素,如果沒(méi)有這樣的元素,則拋出異常。

  • set.isdisjoint(set2),判斷兩個(gè)集合是否包含相同的元素,如果沒(méi)有返回 True,否則返回 False。

  • set.issubset(set2),判斷集合set是否包含于set2

  • set.issuperset(set2),判斷集合set是否包含set2,issubset與issuperset是一對(duì)互逆操作。

2.2、dict(字典)

dict,字典,字典由鍵值對(duì)組成,具有唯一性,可變性。字典是可變對(duì)象但字典的鍵的唯一的,是不可變對(duì)象。理解字典的最好方式,就是將它看做是一個(gè) 鍵 : 值對(duì)的集合。

創(chuàng)建dict的方法:

//1.通過(guò)大括號(hào)括起鍵值對(duì)創(chuàng)建dict 
mydict = {'name':'tom','age':'24'}; 
//2.通過(guò)dict()方法創(chuàng)建dict 
mydict = dict(name = 'tom',age = 24); 
//3.通過(guò)大括號(hào)創(chuàng)建空dict,然后通過(guò)中括號(hào)添加鍵值對(duì) 
mydict = {}; 
mydict['tel'] = '1300000000';

獲取dict中的元素:

//需要已經(jīng)知道鍵的名稱(chēng),否則無(wú)法獲取,除非遍歷 
mydict.get('tel');

dict常用方法:

  • dict.copy(),拷貝出一個(gè)新的字典。

  • dict.setdefault({'sex':'man'}),有則查,無(wú)則增。

  • dict.update({'sex':'male'}),有則改,無(wú)則增。

  • dict.pop('tel'),指定刪除,參數(shù)必須要有需要?jiǎng)h除的鍵。

  • dict.clear(),清空字典。

  • dict.keys(),查詢(xún)字典中所有的鍵。

  • dict.values(),查詢(xún)字典中所有的值。

  • dict.items(),查詢(xún)字典中所有的鍵值對(duì)。

以上即為Python自帶的數(shù)據(jù)結(jié)構(gòu),共分為序列結(jié)構(gòu)和散列結(jié)構(gòu)兩大類(lèi),序列結(jié)構(gòu)有l(wèi)ist、tuple、string、unicode、buffer、xrange,散列結(jié)構(gòu)有set、dict。

關(guān)于Python中的數(shù)據(jù)結(jié)構(gòu)有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:Python中的數(shù)據(jù)結(jié)構(gòu)有哪些-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article24/ejcce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、動(dòng)態(tài)網(wǎng)站、App開(kāi)發(fā)、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)