認(rèn)識(shí)4個(gè)內(nèi)置數(shù)據(jù)結(jié)構(gòu)
Python提供了4個(gè)內(nèi)置數(shù)據(jù)結(jié)構(gòu)笑跛,可以用來(lái)保存任何對(duì)象集合付魔,它們分別是列表、元組堡牡、字典抒抬、集合。
這里的“內(nèi)置”是指列表晤柄、元組擦剑、字典、集合在代碼中可以直接使用芥颈,用前無(wú)需導(dǎo)入惠勒,這些數(shù)據(jù)結(jié)構(gòu)是Python語(yǔ)言的一部分。
1.列表:有序的可變對(duì)象集合
類似于其他語(yǔ)言里的數(shù)組的概念爬坑,你可以把列表想成是一個(gè)相關(guān)對(duì)象的索引集合纠屋,列表中的每個(gè)槽(元素)從0開(kāi)始編號(hào)。但是盾计,Python里的列表是動(dòng)態(tài)的售担,因?yàn)樗鼈兛梢愿鶕?jù)需要擴(kuò)展(和收縮)。使用前不需要聲明列表的大小署辉。同時(shí)列表還是異構(gòu)的族铆,你可以在一個(gè)列表中混合不同類型的對(duì)象。列表還是可變的哭尝,因?yàn)榭梢栽谌魏螘r(shí)間通過(guò)增加哥攘、刪除或修改對(duì)象來(lái)修改列表。
2.元組:有序的不可改變對(duì)象集合
元組是一個(gè)不可變的列表,這說(shuō)明逝淹,一旦向一個(gè)元組賦值耕姊,任何情況下這個(gè)元組都不能再改變。通常把元組想象成是一個(gè)常量列表栅葡。(如果你想確保你的代碼不能被你或其他人的代碼修改茉兰,此時(shí)元組就會(huì)有很大用處)。
如果你想用一種有序的方式呈現(xiàn)數(shù)據(jù)(如旅行日程上的目的地列表妥畏,在這里目的地順序很重要)邦邦,列表和元組就很合適,不過(guò)有時(shí)用什么順序呈現(xiàn)數(shù)據(jù)并不重要醉蚁,例如燃辖,你可能想存儲(chǔ)一些用戶的詳細(xì)信息,但是不關(guān)心以什么順序存儲(chǔ)网棍,對(duì)于這種數(shù)據(jù)黔龟,Python的列表/元組就不適用了,需考慮其他的數(shù)據(jù)結(jié)構(gòu)滥玷。
3.字典:無(wú)序的鍵/值對(duì)集合
Python字典允許你存儲(chǔ)一個(gè)鍵/值對(duì)集合氏身。在字典中每個(gè)唯一鍵有一個(gè)與之關(guān)聯(lián)的值,字典可以包含多個(gè)鍵/值對(duì)惑畴。與鍵關(guān)聯(lián)的值可以是任意對(duì)象蛋欣。
字典是無(wú)序且可改變的,可以把Python的字典想象成一個(gè)兩列多行的數(shù)據(jù)結(jié)構(gòu)如贷,與列表類似陷虎,字典可以根據(jù)需要進(jìn)行擴(kuò)展(和收縮)。
4.集合:無(wú)序的唯一對(duì)象集合
在Python中杠袱,集合是一種很方便的數(shù)據(jù)結(jié)構(gòu)尚猿,可以用來(lái)保存相關(guān)對(duì)象的一個(gè)集合,同時(shí)確保其中的任何對(duì)象不會(huì)重復(fù)楣富。
集合還允許你完成并集凿掂、交集和差集操作,這是一個(gè)額外的好處纹蝴;集合還可以根據(jù)需要進(jìn)行擴(kuò)展和收縮庄萎。
by PengSW on 2019/1/19