這篇文章將為大家詳細講解有關Python中的數據結構有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
企業建站必須是能夠以充分展現企業形象為主要目的,是企業文化與產品對外擴展宣傳的重要窗口,一個合格的網站不僅僅能為公司帶來巨大的互聯網上的收集和信息發布平臺,創新互聯面向各種領域:玻璃貼膜等成都網站設計、營銷型網站建設解決方案、網站設計等建站排名服務。一、序列結構
首先介紹的數據結構是序列結構,所謂序列,也就是元素順序是很重要的,不同元素順序的序列是不同的序列。Python中含有六種內建的序列結構,分別是list、tuple、string、unicode、buffer、xrange。
1.1、list(列表)
list,列表是一種序列,可以看做是一種數組,但不同的于其它語言的是,Python列表中的元素可以是任何數據類型,諸如,數字、字符串等等。
下面為創建list結構的幾種方式:
//1.通過中括號括起已知的元素創建list mylist = ['orange', 'apple', 1,2,3.14]; //2.通過中括號創建空list,然后用append()追加動態元素 mylist = []; mylist.append('orange'); //3.通過list()方法創建空list mylist = list();
選取list元素的方法:
//通過中括號加下對應下標選取,下標從0開始,-1為倒數第一個元素,以此類推 mylist[0]; mylist[-1];
切片是Python中序列結構獨有的一種操作,意思是從序列中選取一個子序列,凡是序列均可切片,list是序列,所以list可以切片。切片方法:
//通過[begin:end]方式完成切片 mylist = [1,2,3,4,5]; mylist[0:2]; //生成的序列為[1,2,3]
list常用方法:
list.append(x),在列表的末尾添加一個元素。
list.insert(i, x),在給定的位置插入一個元素,第一個參數是要插入的元素的索引。
list.remove(x),移除列表中第一個值為 x 的元素,如果沒有這樣的元素,則拋出異常。
list.clear(),刪除列表中所有的元素。
list.index(x),返回列表中第一個值為 x 的元素的從零開始的索引,如果沒有這樣的元素,則拋出異常。
list.count(x),返回元素 x 在列表中出現的次數。
list.reverse(),反轉列表中的元素。
機器學習
1.2、tuple(元組)
tuple,元組和列表一樣,都以看做是一種數組,元素可以是任何數據類型,甚至可以嵌套。唯一的區別是,元組內的元素一旦創建,是不可修改的,也不可追加。并且元組使用小括號創建,同樣元組可切片,切片方法同list。
//1.通過小括號括起已知的元素創建tuple mytuple = (1, 3, 'hello!') //2.不可以用append()往tuple追加,因為tuple一旦創建,不可變更
獲取tuple中的元素:
//和列表一樣,通過中括號加下對應下標選取,下標從0開始,-1為倒數第一個元素,以此類推 mytuple[0]; mytuple[-1];
1.3、string,unicode,buffer,xrange
這四個也是序列,做科學計算由于不太常用,不做太多介紹。
string可以看成是少量單個字符構成的list,如:
mystring = 'orange'; mylist = ['o','r','a','n','g','e'];
由于string也是序列,所以也可以切片,切片就當做單個字符構成的list切片即可,很多原理類似,不做過多介紹。
unicode和string類似,不過可以支持原生unicode編碼的序列,如\\u4f60\\u597d。
buffer可以看成大量字符構成的list。
xrange可以看成純數字構成的list。
科學計算
二、散列結構
所謂散列結構,區別于上述序列結構,散列結構中,元素順序是不重要的,順序不同的散列,還是同一個散列。散列結構有set、dict。
2.1、set(集合)
set,集合,集合是由不重復元素組成的無序的集,重點是不重復,和數學中的集合類似。無序是散列結構的特點,集合是一種散列結構,所以集合也有無序的特點。
創建set的方法:
//和list很類似,可對應參考 //1.通過大括號括起已知的元素創建set myset = {'red','blue',2.71}; //2.通過set()方法創建空set,注意不能用{}創建空set,這樣創建的是空dict //3.然后用add()添加動態元素,注意不是append myset = set(); myset.add('yellow'); Python的set集合可以支持并集,交集,差集,對稱差等數學運算: //創建集合a a = set('abracadabra'); //創建集合b b = set('alacazam'); ------------------ print(a) //結果:{'a', 'r', 'b', 'c', 'd'} ------------------ print(a - b); //差集 //結果:{'r', 'd', 'b'} ------------------ print(a | b); //并集 //結果:{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} ------------------ print(a & b); //交集 //結果:{'a', 'c'} ------------------ print(a ^ b); //對稱差 //結果:{'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,字典,字典由鍵值對組成,具有唯一性,可變性。字典是可變對象但字典的鍵的唯一的,是不可變對象。理解字典的最好方式,就是將它看做是一個 鍵 : 值對的集合。
創建dict的方法:
//1.通過大括號括起鍵值對創建dict mydict = {'name':'tom','age':'24'}; //2.通過dict()方法創建dict mydict = dict(name = 'tom',age = 24); //3.通過大括號創建空dict,然后通過中括號添加鍵值對 mydict = {}; mydict['tel'] = '1300000000';
獲取dict中的元素:
//需要已經知道鍵的名稱,否則無法獲取,除非遍歷 mydict.get('tel');
dict常用方法:
dict.copy(),拷貝出一個新的字典。
dict.setdefault({'sex':'man'}),有則查,無則增。
dict.update({'sex':'male'}),有則改,無則增。
dict.pop('tel'),指定刪除,參數必須要有需要刪除的鍵。
dict.clear(),清空字典。
dict.keys(),查詢字典中所有的鍵。
dict.values(),查詢字典中所有的值。
dict.items(),查詢字典中所有的鍵值對。
以上即為Python自帶的數據結構,共分為序列結構和散列結構兩大類,序列結構有list、tuple、string、unicode、buffer、xrange,散列結構有set、dict。
關于Python中的數據結構有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:Python中的數據結構有哪些-創新互聯
網站網址:http://vcdvsql.cn/article24/ejcce.html
成都網站建設公司_創新互聯,為您提供網站營銷、靜態網站、搜索引擎優化、動態網站、App開發、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯