成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python語言自帶的數據結構有哪些?

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

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

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

Python

一、序列結構

首先介紹的數據結構是序列結構,所謂序列,也就是元素順序是很重要的,不同元素順序的序列是不同的序列。Python中含有六種內建的序列結構,分別是list、tuple、string、unicode、buffer、xrange。

1.1、list(列表)

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

下面為創建list結構的幾種方式:

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

選取list元素的方法:

  1. //通過中括號加下對應下標選取,下標從0開始,-1為倒數第一個元素,以此類推 
  2. mylist[0]; 
  3. mylist[-1]; 

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

  1. //通過[begin:end]方式完成切片 
  2. mylist = [1,2,3,4,5]; 
  3. 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. //1.通過小括號括起已知的元素創建tuple 
  2. mytuple = (1, 3, 'hello!'
  3. //2.不可以用append()往tuple追加,因為tuple一旦創建,不可變更 

獲取tuple中的元素:

  1. //和列表一樣,通過中括號加下對應下標選取,下標從0開始,-1為倒數第一個元素,以此類推 
  2. mytuple[0]; 
  3. mytuple[-1]; 

1.3、string,unicode,buffer,xrange

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

string可以看成是少量單個字符構成的list,如:

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

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

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

buffer可以看成大量字符構成的list。

xrange可以看成純數字構成的list。

 

最全整理,值得收藏!Python語言自帶的數據結構有哪些?

科學計算

二、散列結構

所謂散列結構,區別于上述序列結構,散列結構中,元素順序是不重要的,順序不同的散列,還是同一個散列。散列結構有set、dict。

2.1、set(集合)

set,集合,集合是由不重復元素組成的無序的集,重點是不重復,和數學中的集合類似。無序是散列結構的特點,集合是一種散列結構,所以集合也有無序的特點。

創建set的方法:

  1. //和list很類似,可對應參考 
  2. //1.通過大括號括起已知的元素創建set 
  3. myset = {'red','blue',2.71}; 
  4. //2.通過set()方法創建空set,注意不能用{}創建空set,這樣創建的是空dict 
  5. //3.然后用add()添加動態元素,注意不是append 
  6. myset = set(); 
  7. myset.add('yellow'); 

Python的set集合可以支持并集,交集,差集,對稱差等數學運算:

  1. //創建集合a 
  2. a = set('abracadabra'); 
  3. //創建集合b 
  4. b = set('alacazam'); 
  5. ------------------ 
  6. print(a) 
  7. //結果:{'a''r''b''c''d'
  8. ------------------ 
  9. print(a - b); //差集 
  10. //結果:{'r''d''b'
  11. ------------------ 
  12. print(a | b); //并集 
  13. //結果:{'a''c''r''d''b''m''z''l'
  14. ------------------ 
  15. print(a & b); //交集 
  16. //結果:{'a''c'
  17. ------------------ 
  18. print(a ^ b); //對稱差 
  19. //結果:{'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. //1.通過大括號括起鍵值對創建dict 
  2. mydict = {'name':'tom','age':'24'}; 
  3. //2.通過dict()方法創建dict 
  4. mydict = dict(name = 'tom',age = 24); 
  5. //3.通過大括號創建空dict,然后通過中括號添加鍵值對 
  6. mydict = {}; 
  7. mydict['tel'] = '1300000000'

獲取dict中的元素:

  1. //需要已經知道鍵的名稱,否則無法獲取,除非遍歷 
  2. 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。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-06-08 10:41:00

Go語言算法

2021-07-16 07:57:34

Python數據結構

2016-10-09 08:57:11

python數據結構與算法樹形結構

2022-02-22 15:27:46

數據結構容器算法

2024-03-29 09:12:43

Go語言工具

2023-10-31 08:51:25

數據結構存儲數據

2011-03-31 15:41:51

Cacti數據表結構

2023-09-21 16:13:20

Python數據結構

2021-07-13 07:52:03

Python數據結構

2021-07-15 06:43:12

Python數據結構

2017-03-01 13:58:46

Python數據結構鏈表

2023-07-03 17:24:33

數據結構

2014-12-10 10:35:43

微信 數據結構

2012-04-28 14:21:47

Java數據結構線性結構

2023-09-25 12:23:18

Python

2019-11-23 23:30:55

Python數據結構時間復雜性

2021-05-12 14:09:35

鏈表數據結構線性結構

2020-10-21 14:57:04

數據結構算法圖形

2011-08-11 17:09:01

數據挖掘

2023-03-28 07:44:23

數據結構數組
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品福利在线 | 黑人精品欧美一区二区蜜桃 | 久久精品视频免费观看 | 久草.com | 日韩精品a在线观看图片 | 精品久久久999 | www成人免费 | 99久久电影| 国产一区二区电影网 | 正在播放亚洲 | 日韩在线免费视频 | 中文字幕在线视频一区二区三区 | 日韩成人在线观看 | 色视频欧美 | 性色在线| 中文字幕高清 | 国产伦一区二区三区视频 | 久久精品一级 | 视频一区二区中文字幕 | 奇米av| 国产乱码精品1区2区3区 | 一区二区三区四区免费视频 | 日韩在线播放网址 | 久久精品99久久 | 黄色片网站国产 | 国产精品成人一区二区三区 | 欧美国产精品久久久 | 亚洲国产乱码 | 成人高潮片免费视频欧美 | 中文字幕亚洲一区二区三区 | 99免费精品 | 超碰欧美 | 狠狠操狠狠操 | 91大神在线资源观看无广告 | 秋霞a级毛片在线看 | 在线一区二区三区 | 亚洲精品久久久久久久久久久 | 男女羞羞在线观看 | 特黄毛片视频 | 欧美精品久久久久 | 亚洲成人精品一区二区 |