內(nèi)置數(shù)據(jù)結(jié)構(gòu)分類:
創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元憑祥做網(wǎng)站,已為上家服務(wù),為憑祥各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575數(shù)值型
int , float , complex , bool
序列對(duì)象
字符串 str
列表 list
tuple(元組)
鍵值對(duì)
集合 set
字典 dict
數(shù)字型
int ,float , complex , bool都是class, 1,5.0 , 2+3j都是對(duì)象的實(shí)例
int : python3的int就是長整型,沒有大小限制,受限于內(nèi)存大小
float:有整數(shù)部分和小數(shù)部分組成,支持十進(jìn)制和科學(xué)計(jì)數(shù)法表示,只有雙精度型
complex:有實(shí)數(shù)和虛部組成,實(shí)部和虛部都是浮點(diǎn)數(shù),3+4j
bool:int 的子類,僅有2個(gè)實(shí)例True和False 對(duì)應(yīng) 1和0,可以和整數(shù)直接運(yùn)算
列表 list()
列表是可變的,連續(xù)的(sequence),可以進(jìn)行索引的,線性數(shù)據(jù)結(jié)構(gòu),可迭代的數(shù)據(jù)結(jié)構(gòu)
區(qū)分:
list列表: 查找快...但是從修改(增/刪)的時(shí)候,很麻煩很慢
link鏈表: 查找慢...但是修改快,查找很慢
queue(隊(duì)列): 先進(jìn)先出~
stack(棧): 先進(jìn)后出,后進(jìn)先出(堆棧)
列表list定義: 初始化
list() ->new empty list
list(iterable) -> new list initialized from iterable's items
list不能一開始就定義大小
lst = list() lst = [] lst = [2,5,6,'ab'] lst = list(range(5))
索引 index: 也叫下標(biāo),從0?開始
正索引: 從左至右,從0開始,為列表中每個(gè)單元進(jìn)行編號(hào)
負(fù)索引:從右至左,從-1開始
正負(fù)索引不可超界,否則發(fā)生一場:Index Error
列表通過索引訪問:list[index],index就是索引,使用中包括訪問
列表查詢方法:
1.L.index(valve,[start,stop])
通過元素值,從指定區(qū)間查找列表內(nèi)的元素是否匹配
匹配到第一就立刻返回索引
匹配不到,拋出異常valveError
2.count(valve)
返回列表中匹配到valve的次數(shù)
時(shí)間復(fù)雜度:
index和count方法都是O(n)[遍歷]
隨著列表數(shù)據(jù)規(guī)模的增大,效率下降
len():輸出列表的長度
列表元素修改
索引訪問修改 ,索引不要超界
list[index] = valve
列表增加,插入列表
返回None意味著沒有新的列表產(chǎn)生,就地修改
1.L.append(object) -> None
列表尾部追加元素,返回None
實(shí)際復(fù)雜度是O(1)
2.L.insert(index,object) -> None
在指定的索引 index處插入語元素
時(shí)間復(fù)雜度是O(n)
此處index可以超界:
超越上界,尾部追加;
超越下界,頭部追加
3.L.extend(iterable) -> None
將可迭代對(duì)象的元素追加進(jìn)來,返回None
返回 list ,意味著產(chǎn)生了新的list
1. + -> list
連接操作,將兩個(gè)列表連接起來
產(chǎn)生新的列表,原列表不變
本質(zhì)上調(diào)用的是__add___()方法
2. * -> list
重復(fù)操作,將本列表元素重復(fù)n次,返回新的列表
列表 * 重復(fù)的坑:
x = [[1,2,3]] * 3 print(x) x[0][1] = 20 print(x) [[1, 2, 3], [1, 2, 3], [1, 2, 3]] [[1, 20, 3], [1, 20, 3], [1, 20, 3]] y = [1] * 5 y[0] = 6 y[1] = 7 print(y) [6, 7, 1, 1, 1]
列表刪除元素
1. L.remove(valve) -> None
從左至右查找第一個(gè)匹配Valve的值,移除該元素,返回None
就地修改
效率:時(shí)間復(fù)雜度= O(n)
2. L.pop([index]) -> item
不指定索引 index,就從列表尾部彈出一個(gè)元素
指定索引 index,就從index處彈出一個(gè)元素,索引超界拋出IndexError錯(cuò)誤
效率:不指定索引 Index時(shí) 時(shí)間復(fù)雜度= O(1) ,指定索引(從頭,或中間), 時(shí)間復(fù)雜度=O(n)
3. L.clear() -> None
清除列表所有元素,剩下一個(gè)空列表
其它列表操作
1. L.reserve() -> None
將列表元素反轉(zhuǎn),返回None
就地修改
2. L.sort(key=None,reserve=Flase) -> None
對(duì)列表元素進(jìn)行排序,就地修改,默認(rèn)升序
reserve為True,反轉(zhuǎn),降序
key= 一個(gè)函數(shù),按照key的內(nèi)容進(jìn)行排序
lst.sort(key=functionname),exp: lst.sort(key = str) 按照字符串進(jìn)行排序
3. in , not in
[3,4] in [1,2,[3,4]]
[5] not in [1,2,[3,4]]
for x in [1,2,[3,4]]
列表復(fù)制
L.copy() -> List
返回一個(gè)新的列表
1.淺拷貝shadow copy:
影子拷貝,也叫淺拷貝,遇到引用類型,只是復(fù)制了一個(gè)引用而已
lst0 = [1,[2,3,4],5] lst5 = lst0.copy() lst5[1][1] = 20 print(lst5) print(lst0) [1, [2, 20, 4], 5] [1, [2, 20, 4], 5]
2.深拷貝deepcopy
copy模塊提供了deepcopy
import copy lst0 = [1,[2,3,4],5] lst5 = copy.deepcopy(lst0) lst5[1][1] = 20 lst5 ! == lst0 print(lst5) print(lst0) [1, [2, 20, 4], 5] [1, [2, 3, 4], 5]
隨機(jī)數(shù) random模塊
1. random.randint(a,b) -> item
返回[a,b]之間的隨機(jī)數(shù)
2. random.randrange([start],stop,[step]) -> item
從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù), 基數(shù)缺省值為1. random.randrange(1,7,2)
3. random.choice() -> item
從非空序列的元素中隨機(jī)抽取一個(gè)元素,exp: random.choice(range(10)) 從0到9中隨機(jī)挑選一個(gè)整數(shù).random.choice([1,3,5,7])
4. random.shuffle(list) -> none
就地打亂列表元素
5. random.sample(population,k) -> list
從樣本空間或總體(序列或者集合類型) 中隨機(jī)取出 k個(gè)不同(索引位置)的元素,返回一個(gè)新的列表. exp:
random.sample(['a','b','c','d'],2) random.sample(['a','b'] ,2
元組
一個(gè)有序的元素組成的集合
使用小括號(hào)()表示
元組是不可變對(duì)象
元組的定義 初始化
定義:
tuple() -> empty tuple
tuple(iterable) -> tuple initialized from iterable's items
t = tuple()
t = ()
t = tuple(range(1,7,2)) 可迭代對(duì)象
t = (1,) # 一個(gè)元素元組的定義,注意要有個(gè)逗號(hào)
t = (1,) * 5
t = (1,2,3) * 6
元組元素的訪問
支持索引(下標(biāo))
元組通過索引訪問
tuple[index]: t[1]
正索引:從左至右,從0開始
負(fù)索引:從右至左,從-1開始
正負(fù)索引不可超界.否則引發(fā)一場Index Error
元組查詢
1.t.index(valve,[start,stop])
通過值value,從指定區(qū)間查找元組內(nèi)的元素是否匹配
匹配到第一就立刻返回索引
匹配不到,拋出異常valveError
2.count(valve)
返回元組中匹配到valve的次數(shù)
時(shí)間復(fù)雜度:
index和count方法都是O(n)[遍歷]
隨著列表數(shù)據(jù)規(guī)模的增大,效率下降
len():返回元素的個(gè)數(shù)
元組不可變,只讀,所以沒有增,刪,改的方法
命名元組namedtuple
namedtuple(typename,field_names,verbose= False,rename=False)
命名元組,返回一個(gè)元組的子類,并定義了字段
field_names可以是空白符或逗號(hào)分割的字段的字符串,可以是字段的列表
from collections import namedtuple point = namedtuple("_point",["x", "y"]) # point為返回的類 p = point(11,22) Exp: form collections import namedtuple Student = namedtuple("Student","name age") tom = Student("tom",20) jerry = Student("jerry,18") tome.name
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前題目:Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)——列表list,元組tuple-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://aaarwkj.com/article34/hcepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站營銷、企業(yè)網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司、微信公眾號(hào)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容