国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Python中的List,Tuple,Dic,Set

2019-11-14 17:11:59
字體:
來源:轉載
供稿:網友

                                                          Python中的List,Tuple,Dic,Set

 List定義

序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。

列表是最常用的Python數據類型,它可以作為一個方括號內的逗號分隔值出現。列表的數據項不需要具有相同的類型。創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可.
  
1 list=['du','dpsl',123,5926]2 PRint list[2]3 list[2]=3214 print list5 del list[0] 6 print list

其結果將是: 

123['du', 'dpsl', 321, 5926]['dpsl', 321, 5926]

 

 
 
 List切片
如果要取最后一位,怎么辦?用-1表示最后一個元素。類似的,倒數第二用 -2 表示,倒數第三用 -3 表示,倒數第四用 -4。
1 list=['123','dudu','iiiu']2 print list3 print list[-1]4 print list[-2]5 list.insert(0,'du')  #增加元素 ,第一個參數表示增加到第一個位置上。pop()方法總是刪掉list的最后一個元素,并且它還返回這個元素。6 print list

結果是:

> ['123', 'dudu', 'iiiu']iiiududu['du', '123', 'dudu', 'iiiu']
 
  
 
 

元組  tuple

Python的元組與列表類似,不同之處在于元組的元素不能修改(后面會有個例子證明其也是“可變”的)。元組使用小括號,列表使用方括號。

元組創建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。

    
 元組可以使用下標索引來訪問元組中的值
 可以使用del語句來刪除整個元組,但是不允許刪除元組中的元素。
tuple沒有 append()方法,也沒有insert()和pop()方法。
 元組中的元素值是不允許修改的,但我們可以對元組進行連接組合。比如:
 1   tup1=('123',31) 2 print tup1 3 tup2=('dudu','du',123,321,'zzz') 4 print tup2 5 tup3=tup1+tup2 6 print tup3 7  8 print "t2:",tup2[2:4] 9 10 print "======="11 12 del tup113 print tup1 #此時已經沒有tup1了。

其結果是:

> ('123', 31)('dudu', 'du', 123, 321, 'zzz')('123', 31, 'dudu', 'du', 123, 321, 'zzz')t2: (123, 321)=======> Traceback (most recent call last):  File "/demo/test.py", line 19, in     print tup1NameError: name 'tup1' is not defined

 

一個特殊的地方:

因為()既可以表示tuple,又可以作為括號表示運算時的優先級,結果 (1) 被Python解釋器計算出結果 1,導致我們得到的不是tuple,而是整數 1。

正是因為用()定義單元素的tuple有歧義,所以 Python 規定,單元素 tuple 要多加一個逗號“,”。

tup1=(121,)print tup1
> (121,)

 

 
 上面寫到元組是不可變的。那么,元組是真的不可變么?看例子:
1 t = ('du', 'dudu', ['A', 'B'])2 print t3 L=t[2]     #得到元組中的索引為2的元素,即其中的List。4 L[0]='XX'  #修改List中的第一個元素。5 L[1]='YYY'  #修改List中的第一個元素。6 print t

看結果:

> ('du', 'dudu', ['A', 'B'])('du', 'dudu', ['XX', 'YYY'])
 
明明已經變了嘛,那么解釋:
表面上看,tuple的元素確實變了,但其實變的不是 tuple 的元素,而是list的元素。tuple一開始指向的list并沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個元素,指向永遠不變。即指向'a',就不能改成指向'b',指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!

 

 

 

字典  Dic

dict的特點:用空間來換取時間的一種方法

dict的第一個特點是查找速度快,無論dict有10個元素還是10萬個元素,查找速度都一樣。而list的查找速度隨著元素增加而逐漸下降。

不過dict的查找速度快不是沒有代價的,dict的缺點是占用內存大,還會浪費很多內容,list正好相反,占用內存小,但是查找速度慢。

由于dict是按 key 查找,所以,在一個dict中,key不能重復。

dict的第二個特點就是存儲的key-value序對是沒有順序的!這和list不一樣.
dict的第三個特點是作為 key 的元素必須不可變,Python的基本類型如字符串、整數、浮點數都是不可變的,都可以作為 key。但是list是可變的,就不能作為 key
1 d = {2     'sfg': 95,3     'itor': 85,4     'way': 595 }6 for key in d:7     print d[key]#通過key得到value,與list有點相似,只是list是通過索引得到值。8     print key9     print '========='
85itor=========95sfg=========59way=========

 

 

set

set可以看成數學意義上的無序和無重復元素的集合.

set和dict類似,也是一組key的集合,但不存儲value。由于key不能重復,所以,在set中,沒有重復的key

 

 

 

 感謝:廖學峰官網
         慕課網
         匯智網

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴塘县| 南部县| 阿克陶县| 克拉玛依市| 兖州市| 南和县| 海原县| 沙田区| 扶绥县| 古浪县| 平度市| 依兰县| 古交市| 沾化县| 靖远县| 文安县| 广丰县| 义马市| 黔南| 威远县| 旌德县| 喀喇沁旗| 安化县| 靖远县| 麻城市| 南充市| 万安县| 黎平县| 阿图什市| 文安县| 天峨县| 饶平县| 夹江县| 榕江县| 灵璧县| 柳林县| 深州市| 正阳县| 巴塘县| 舞阳县| 夏津县|