最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年08月27日 11:12:39   作者:第零區(qū)塊  
Python已經(jīng)廣泛的應(yīng)用于數(shù)據(jù)分析、數(shù)據(jù)挖掘、機器學(xué)習(xí)等眾多科學(xué)計算領(lǐng)域,這篇文章主要介紹了Python語言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些?需要的朋友可以參考下

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

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

Python

一、序列結(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ù)組,但不同的于其它語言的是,Python列表中的元素可以是任何數(shù)據(jù)類型,諸如,數(shù)字、字符串等等。

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

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

選取list元素的方法:

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

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

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

list常用方法:

  • list.append(x),在列表的末尾添加一個元素。
  • list.insert(i, x),在給定的位置插入一個元素,第一個參數(shù)是要插入的元素的索引。
  • list.remove(x),移除列表中第一個值為 x 的元素,如果沒有這樣的元素,則拋出異常。
  • list.clear(),刪除列表中所有的元素。
  • list.index(x),返回列表中第一個值為 x 的元素的從零開始的索引,如果沒有這樣的元素,則拋出異常。
  • list.count(x),返回元素 x 在列表中出現(xiàn)的次數(shù)。
  • list.reverse(),反轉(zhuǎn)列表中的元素。

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

1.2、tuple(元組)

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

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

獲取tuple中的元素:

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

1.3、string,unicode,buffer,xrange

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

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

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

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

unicode和string類似,不過可以支持原生unicode編碼的序列,如\\u4f60\\u597d。

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

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

科學(xué)計算

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

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

2.1、set(集合)

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

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

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

//創(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); //對稱差 
//結(jié)果:{'r', 'd', 'b', 'm', 'z', 'l'} 

set常用方法:

  • set.remove(x),移除集合中值為 x 的元素,如果沒有這樣的元素,則拋出異常。
  • set.isdisjoint(set2),判斷兩個集合是否包含相同的元素,如果沒有返回 True,否則返回 False。
  • set.issubset(set2),判斷集合set是否包含于set2
  • set.issuperset(set2),判斷集合set是否包含set2,issubset與issuperset是一對互逆操作。

2.2、dict(字典)

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

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

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

獲取dict中的元素:

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

dict常用方法:

  • dict.copy(),拷貝出一個新的字典。
  • dict.setdefault({'sex':'man'}),有則查,無則增。
  • dict.update({'sex':'male'}),有則改,無則增。
  • dict.pop('tel'),指定刪除,參數(shù)必須要有需要刪除的鍵。
  • dict.clear(),清空字典。
  • dict.keys(),查詢字典中所有的鍵。
  • dict.values(),查詢字典中所有的值。
  • dict.items(),查詢字典中所有的鍵值對。

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

總結(jié)

以上所述是小編給大家介紹的淺析Python語言自帶的數(shù)據(jù)結(jié)構(gòu)有哪些,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • Python實現(xiàn)的生成格雷碼功能示例

    Python實現(xiàn)的生成格雷碼功能示例

    這篇文章主要介紹了Python實現(xiàn)的生成格雷碼功能,結(jié)合實例形式分析了格雷碼的原理與Python相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • Python模擬脈沖星偽信號頻率實例代碼

    Python模擬脈沖星偽信號頻率實例代碼

    這篇文章主要介紹了Python模擬脈沖星偽信號頻率實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 你眼中的Python大牛 應(yīng)該都有這份書單

    你眼中的Python大牛 應(yīng)該都有這份書單

    現(xiàn)在學(xué)習(xí)Python途徑很多,但是想系統(tǒng)的學(xué)習(xí)Python的知識體系,還需要靠閱讀專業(yè)的書籍來不斷積累。你眼中的Python大牛,應(yīng)該都看過這些書,趕快收藏一份
    2017-10-10
  • Python日期時間Time模塊實例詳解

    Python日期時間Time模塊實例詳解

    這篇文章主要介紹了Python日期時間Time模塊,結(jié)合實例形式詳細(xì)分析了Python日期時間Time模塊常用函數(shù)及相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • 詳解將Django部署到Centos7全攻略

    詳解將Django部署到Centos7全攻略

    這篇文章主要介紹了詳解將Django部署到Centos7全攻略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析

    Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析

    這篇文章主要介紹了Python CategoricalDtype自定義排序?qū)崿F(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Python7個爬蟲小案例詳解(附源碼)上篇

    Python7個爬蟲小案例詳解(附源碼)上篇

    這篇文章主要介紹了Python7個爬蟲小案例詳解(附源碼)上篇,本文章內(nèi)容詳細(xì),通過案例可以更好的理解爬蟲的相關(guān)知識,七個例子分為了三部分,本次為上篇,共有二道題,需要的朋友可以參考下
    2023-01-01
  • 利用OpenCV實現(xiàn)YOLO對象檢測方法詳解

    利用OpenCV實現(xiàn)YOLO對象檢測方法詳解

    這篇文章主要介紹了如何使用YOLOV3對象檢測器、OpenCV和Python實現(xiàn)對圖像和視頻流的檢測。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-01-01
  • 解決PyCharm不在run輸出運行結(jié)果而不是再Console里輸出的問題

    解決PyCharm不在run輸出運行結(jié)果而不是再Console里輸出的問題

    這篇文章主要介紹了解決PyCharm不在run輸出運行結(jié)果而不是再Console里輸出的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Python如何輸出異常信息(行號)

    Python如何輸出異常信息(行號)

    這篇文章主要介紹了Python如何輸出異常信息(行號)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論

民和| 广水市| 卓资县| 柳河县| 墨脱县| 定安县| 仁怀市| 宽甸| 东安县| 武威市| 桐梓县| 红原县| 平定县| 霍邱县| 新野县| 南阳市| 泰兴市| 汽车| 蒙山县| 黔江区| 公安县| 玉山县| 台东县| 滕州市| 垫江县| 灵璧县| 泰兴市| 小金县| 巴马| 昌黎县| 颍上县| 兴山县| 扎鲁特旗| 纳雍县| 和政县| 临漳县| 天气| 浏阳市| 乐山市| 永安市| 贵阳市|