久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Python語(yǔ)言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些

Python語(yǔ)言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 05:31:32 1699306292

Python作為一種腳本語(yǔ)言,其要求強(qiáng)制縮進(jìn),使其易讀、美觀,它的數(shù)據(jù)類型可以實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換,而不需要像C、Java那樣給變量定義數(shù)據(jù)類型,使其編寫(xiě)非常方便簡(jiǎn)單,所以廣受大家的歡迎。

現(xiàn)如今,Python已經(jīng)廣泛的應(yīng)用于數(shù)據(jù)分析、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等眾多科學(xué)計(jì)算領(lǐng)域。所以既然涉及到科學(xué)計(jì)算,深入了解Python原生提供的數(shù)據(jù)結(jié)構(gòu)是很有必要的,這樣才能在數(shù)據(jù)的海洋中游刃有余、得心應(yīng)手。本文便以此展開(kāi),做一個(gè)歸納整理,方便收藏。

一、序列結(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ù)類型,諸如,數(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è)元素,以此類推

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)列表中的元素。

1.2、tuple(元組)

tuple,元組和列表一樣,都以看做是一種數(shù)組,元素可以是任何數(shù)據(jù)類型,甚至可以嵌套。唯一的區(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è)元素,以此類推

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切片即可,很多原理類似,不做過(guò)多介紹。

unicode和string類似,不過(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é)中的集合類似。無(wú)序是散列結(jié)構(gòu)的特點(diǎn),集合是一種散列結(jié)構(gòu),所以集合也有無(wú)序的特點(diǎn)。

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

//和list很類似,可對(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ì)稱差等數(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ì)稱差

//結(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)知道鍵的名稱,否則無(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(),查詢字典中所有的鍵。

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

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

以上內(nèi)容為大家介紹了Python語(yǔ)言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python隊(duì)列Queue

QueueQueue是python標(biāo)準(zhǔn)庫(kù)中的線程安全的隊(duì)列(FIFO)實(shí)現(xiàn),提供了一個(gè)適用于多線程編程的先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),即隊(duì)列,用來(lái)在生產(chǎn)者和消費(fèi)者線程...詳情>>

2023-11-07 08:24:21
Python和PHP的區(qū)別

從開(kāi)發(fā)的角度來(lái)看,PHP是面向WEB的語(yǔ)言。PHP應(yīng)用程序更像是一組單獨(dú)的腳本,甚至只是一個(gè)單獨(dú)入口。而Python是多用途語(yǔ)言,也可以用于WEB開(kāi)發(fā),...詳情>>

2023-11-07 08:02:45
Python爬蟲(chóng)原理

簡(jiǎn)單來(lái)說(shuō)互聯(lián)網(wǎng)是由一個(gè)個(gè)站點(diǎn)和網(wǎng)絡(luò)設(shè)備組成的大網(wǎng),我們通過(guò)瀏覽器訪問(wèn)站點(diǎn),站點(diǎn)把HTML、JS、CSS代碼返回給瀏覽器,這些代碼經(jīng)過(guò)瀏覽器解析...詳情>>

2023-11-07 07:33:56
使用Cython為Python編寫(xiě)更快的C擴(kuò)展

使用Python很有趣,但有時(shí),用它編寫(xiě)的程序可能很慢。所有的運(yùn)行時(shí)動(dòng)態(tài)調(diào)度會(huì)帶來(lái)很大的代價(jià):有時(shí)它比用C或Rust等系統(tǒng)語(yǔ)言編寫(xiě)的等效代碼慢10...詳情>>

2023-11-07 07:23:08
Python字符串連接

字符串是Python中常用的數(shù)據(jù)類型,在開(kāi)發(fā)過(guò)程中可以對(duì)字符創(chuàng)進(jìn)行截取并與其他字符創(chuàng)進(jìn)行連接。下面小編整理了5種方法完成Python字符創(chuàng)的連接!加...詳情>>

2023-11-07 06:47:08