Python中的4種數(shù)據(jù)結(jié)構(gòu)

原博客地址

Python中內(nèi)置的數(shù)據(jù)結(jié)構(gòu)分別是:listtuple、dict、set

list(列表)

特征

1.列表中每個(gè)元素都是可變的;
2.列表中的元素是有序的;
3.列別中可以容納Python的任何對(duì)象。

基礎(chǔ)操作

創(chuàng)建列表

直接創(chuàng)建列表
list = ["百度", "騰訊", "阿里巴巴"]
通過(guò)循環(huán)來(lái)創(chuàng)建列表
a = [1,2,3,4,5,6]
b = [i*10 for i in a]

增加元素

列表后面追加元素
list = ["百度", "騰訊", "阿里巴巴"]
list.append("谷歌")
在指定位置插入元素
list = ["百度", "騰訊", "阿里巴巴"]
list.insert(1, "FaceBook")

刪除元素

刪除尾部元素
list = ["百度", "騰訊", "阿里巴巴"]
list.pop()
刪除指定位置的元素
list = ["百度", "騰訊", "阿里巴巴"]
list.pop(1)
刪除列表中某一個(gè)確定元素
list = ["百度", "騰訊", "阿里巴巴", "FaceBook"]
list.remove("FaceBook")
刪除列表指定索引位置范圍內(nèi)的元素
list = ["百度", "騰訊", "阿里巴巴", "FaceBook"]
del list[1:3]   #刪除列表角標(biāo)1到3的所有數(shù)據(jù)

獲取列表信息

獲取列表長(zhǎng)度
list = ["百度", "騰訊", "阿里巴巴"]
len(list)
獲取列表指定位置的數(shù)據(jù)
獲取列表指定索引位置的數(shù)據(jù)
list = ["百度", "騰訊", "阿里巴巴"]
list[1]
獲取列表指定范圍的數(shù)據(jù)
list = ["百度", "騰訊", "阿里巴巴"]
list[1:2]
獲取列表從索引位為0開始到指定索引位置的數(shù)據(jù)
list = ["百度", "騰訊", "阿里巴巴"]
list[ :2]
獲取指定索引位到列表結(jié)尾的數(shù)據(jù)
list = ["百度", "騰訊", "阿里巴巴"]
list[1: ]

tuple(元組)

特征

元組與列表類似,不同支出在于元組的元素不能修改。

基礎(chǔ)操作

新建元組

tuple1 = ()       #創(chuàng)建一個(gè)空元組
tuple1 = (50, )   #創(chuàng)建一個(gè)元素只有一個(gè)的元組

訪問(wèn)元組的元素

tuple1 = ('physics', 'chemistry', 1997, 2000)
tuple2 = (1, 2, 3, 4, 5, 6, 7)

print "tuple1[0]: ", tuple1[0]
print "tuple2[1:5]: ", tuple2[1:5]

修改元組

元組中的元素值是不允許修改的

元組拼接
tuple1 = (12, 34.56)
tuple2 = ('abc', 'xyz')
tuple3 = tuple1 + tuple2
print tuple3

刪除元組

tuple1 = (12, 34.56)
del tuple1

獲取元組的一些信息

獲取元組的長(zhǎng)度
tuple = (1, 2, 3)
len(tuple)
獲取元組中的元素的最大值
tuple = (1, 2, 3)
max(tuple)
獲取元組中的元素的最小值
tuple = (1, 2, 3)
min(tuple)
判斷某一個(gè)元素是否存在在元組中
tuple = (1, 2, 3)
a = 3 in tuple
遍歷元組
tuple = (1, 2, 3)
for x in tuple
print x

將列表轉(zhuǎn)化成元組

list = [1, 2, 3]
tuple = tuple(list)

元組的一些運(yùn)算

兩個(gè)元組拼接
tuple1 = (12, 34.56)
tuple2 = ('abc', 'xyz')
tuple3 = tuple1 + tuple2
print tuple3
復(fù)制操作
tuple = (1, )
result = tuple * 4
print result

元組截取

tuple = ("百度","騰訊","阿里巴巴")
tuple[2] #讀取索引值為2的元素
tuple[-2] #反向讀取,讀取倒數(shù)第二個(gè)元素
tuple[1:] #截取從索引值為1到末尾的所有元素

dict(字典)

特征

1.字典中的元素必須是鍵值對(duì)形式出現(xiàn)的;
2.字典中的元素的鍵不可以重復(fù),值可以重復(fù);
3.字典中元素的鍵不可以修改,值可以修改。

基礎(chǔ)操作

新建字典

dict = ["B": "百度", "A": "阿里巴巴", "T": "騰訊"]

新增元素

新增單一元素

dict = ["B": "百度", "A": "阿里巴巴", "T": "騰訊"]
dict["F"] = "FaceBook"

新增多元素

dict = ["B": "百度", "A": "阿里巴巴", "T": "騰訊"]
dict.update({"F":"FaceBook", "W": "微博"})

刪除元素

刪除字典中某一元素

dict = ["B": "百度", "A": "阿里巴巴", "T": "騰訊", "F":"FaceBook"]
del d["F"]

刪除字典中所有算數(shù)

dict = ["B": "百度", "A": "阿里", "T": "騰訊"]
dict.clear()

修改元素

dict = ["B": "百度", "A": "阿里", "T": "騰訊"]
dict["A"] = "阿里巴巴"

查詢?cè)?/h4>
dict = ["B": "百度", "A": "阿里巴巴", "T": "騰訊"]
dict["A"]

內(nèi)置函數(shù)及說(shuō)明

函數(shù) 描述
cmp(dict1, dict2) 比較兩個(gè)字典元素。
len(dict) 計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)。
str(dict) 輸出字典可打印的字符串表示。
type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類型。
dict.clear() 刪除字典內(nèi)所有元素。
dict.copy() 返回一個(gè)字典的淺復(fù)制。
dict.fromkeys(seq[, val]) 創(chuàng)建一個(gè)新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對(duì)應(yīng)的初始值。
dict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回default值。
dict.has_key(key) 如果鍵在字典dict里返回true,否則返回false。
dict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
dict.keys() 以列表返回一個(gè)字典所有的鍵
dict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為default。
dict.update(dict2) 把字典dict2的鍵/值對(duì)更新到dict里
dict.values() 以列表返回字典中的所有值
pop(key[,default]) 刪除字典給定鍵 key 所對(duì)應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。
popitem() 隨機(jī)返回并刪除字典中的一對(duì)鍵和值。

set(集合)

特征

1.集合更接近數(shù)學(xué)上集合的概念。集合中每個(gè)元素都是無(wú)序的、不重復(fù)的任意對(duì)象;
2.可以通過(guò)集合去判斷數(shù)據(jù)的從屬關(guān)系,也可以通過(guò)集合把數(shù)據(jù)結(jié)構(gòu)中重復(fù)的元素減掉。集合可做集合運(yùn)算,可添加和刪除元素;
3.集合內(nèi)數(shù)據(jù)無(wú)序,即無(wú)法使用索引和分片;
4.集合內(nèi)部數(shù)據(jù)元素具有唯一性,可以用來(lái)排除重復(fù)數(shù)據(jù);
5.集合內(nèi)的數(shù)據(jù):str,int,float,tuple,冰凍集合等,即內(nèi)部只能放置可哈希數(shù)據(jù)。

基礎(chǔ)操作

新建一個(gè)集合

新建一個(gè)空集合
s = set()
新建一個(gè)有元素的集合
s = {1, 2, 3, 4, 5, 6}

新增集合中的元素

s = {1, 2, 3, 4, 5, 6}
s.add(7)

刪除集合中的元素

s = {1, 2, 3, 4, 5, 6}
s.remove(6)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容