天天看點

python幾種資料結構_Python中的4種資料結構

python幾種資料結構_Python中的4種資料結構

Python中内置的資料結構分别是:list、tuple、dict、set。

list(清單)

特征

1.清單中每個元素都是可變的;

2.清單中的元素是有序的;

3.列别中可以容納Python的任何對象。

基礎操作

建立清單

直接建立清單1list = ["百度", "騰訊", "阿裡巴巴"]

通過循環來建立清單1

2a = [1,2,3,4,5,6]

b = [i*10 for i in a]

增加元素

清單後面追加元素1

2list = ["百度", "騰訊", "阿裡巴巴"]

list.append("谷歌")

在指定位置插入元素1

2list = ["百度", "騰訊", "阿裡巴巴"]

list.insert(1, "FaceBook")

删除元素

删除尾部元素1

2list = ["百度", "騰訊", "阿裡巴巴"]

list.pop()

删除指定位置的元素1

2list = ["百度", "騰訊", "阿裡巴巴"]

list.pop(1)

删除清單中某一個确定元素1

2list = ["百度", "騰訊", "阿裡巴巴", "FaceBook"]

list.remove("FaceBook")

删除清單指定索引位置範圍内的元素1

2list = ["百度", "騰訊", "阿裡巴巴", "FaceBook"]

del list[1:3] #删除清單角标1到3的所有資料

擷取清單資訊

擷取清單長度1

2list = ["百度", "騰訊", "阿裡巴巴"]

len(list)

擷取清單指定位置的資料擷取清單指定索引位置的資料1

2list = ["百度", "騰訊", "阿裡巴巴"]

list[1]擷取清單指定範圍的資料1

2list = ["百度", "騰訊", "阿裡巴巴"]

list[1:2]擷取清單從索引位為0開始到指定索引位置的資料1

2list = ["百度", "騰訊", "阿裡巴巴"]

list[ :2]擷取指定索引位到清單結尾的資料1

2list = ["百度", "騰訊", "阿裡巴巴"]

list[1: ]

tuple(元組)

特征

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

基礎操作

建立元組1

2tuple1 = () #建立一個空元組

tuple1 = (50, ) #建立一個元素隻有一個的元組

通路元組的元素1

2

3

4

5tuple1 = ('physics', 'chemistry', 1997, 2000)

tuple2 = (1, 2, 3, 4, 5, 6, 7)

print "tuple1[0]: ", tuple1[0]

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

修改元組

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

元組拼接1

2

3

4tuple1 = (12, 34.56)

tuple2 = ('abc', 'xyz')

tuple3 = tuple1 + tuple2

print tuple3

删除元組1

2tuple1 = (12, 34.56)

del tuple1

擷取元組的一些資訊

擷取元組的長度1

2tuple = (1, 2, 3)

len(tuple)

擷取元組中的元素的最大值1

2tuple = (1, 2, 3)

max(tuple)

擷取元組中的元素的最小值1

2tuple = (1, 2, 3)

min(tuple)

判斷某一個元素是否存在在元組中1

2tuple = (1, 2, 3)

a = 3 in tuple

周遊元組1

2

3tuple = (1, 2, 3)

for x in tuple

print x

将清單轉化成元組1

2list = [1, 2, 3]

tuple = tuple(list)

元組的一些運算

兩個元組拼接1

2

3

4tuple1 = (12, 34.56)

tuple2 = ('abc', 'xyz')

tuple3 = tuple1 + tuple2

print tuple3

複制操作1

2

3tuple = (1, )

result = tuple * 4

print result

元組截取1

2

3

4tuple = ("百度","騰訊","阿裡巴巴")

tuple[2] #讀取索引值為2的元素

tuple[-2] #反向讀取,讀取倒數第二個元素

tuple[1:] #截取從索引值為1到末尾的所有元素

dict(字典)

特征

1.字典中的元素必須是鍵值對形式出現的;

2.字典中的元素的鍵不可以重複,值可以重複;

3.字典中元素的鍵不可以修改,值可以修改。

基礎操作

建立字典1dict = ["B": "百度", "A": "阿裡巴巴", "T": "騰訊"]

新增元素

新增單一進制素1

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

dict["F"] = "FaceBook"

新增多元素1

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

dict.update({"F":"FaceBook", "W": "微網誌"})

删除元素

删除字典中某一進制素1

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

del d["F"]

删除字典中所有算數1

2dict = ["B": "百度", "A": "阿裡", "T": "騰訊"]

dict.clear()

修改元素1

2dict = ["B": "百度", "A": "阿裡", "T": "騰訊"]

dict["A"] = "阿裡巴巴"

查詢元素1

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

dict["A"]

内置函數及說明函數描述cmp(dict1, dict2)比較兩個字典元素。

len(dict)計算字典元素個數,即鍵的總數。

str(dict)輸出字典可列印的字元串表示。

type(variable)傳回輸入的變量類型,如果變量是字典就傳回字典類型。

dict.clear()删除字典内所有元素。

dict.copy()傳回一個字典的淺複制。

dict.fromkeys(seq[, val])建立一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值。

dict.get(key, default=None)傳回指定鍵的值,如果值不在字典中傳回default值。

dict.has_key(key)如果鍵在字典dict裡傳回true,否則傳回false。

dict.items()以清單傳回可周遊的(鍵, 值) 元組數組

dict.keys()以清單傳回一個字典所有的鍵

dict.setdefault(key, default=None)和get()類似, 但如果鍵不存在于字典中,将會添加鍵并将值設為default。

dict.update(dict2)把字典dict2的鍵/值對更新到dict裡

dict.values()以清單傳回字典中的所有值

pop(key[,default])删除字典給定鍵 key 所對應的值,傳回值為被删除的值。key值必須給出。 否則,傳回default值。

popitem()随機傳回并删除字典中的一對鍵和值。

set(集合)

特征

1.集合更接近數學上集合的概念。集合中每個元素都是無序的、不重複的任意對象;

2.可以通過集合去判斷資料的從屬關系,也可以通過集合把資料結構中重複的元素減掉。集合可做集合運算,可添加和删除元素;

3.集合内資料無序,即無法使用索引和分片;

4.集合内部資料元素具有唯一性,可以用來排除重複資料;

5.集合内的資料:str,int,float,tuple,冰凍集合等,即内部隻能放置可哈希資料。

基礎操作

建立一個集合

建立一個空集合1s = set()

建立一個有元素的集合1s = {1, 2, 3, 4, 5, 6}

新增集合中的元素1

2s = {1, 2, 3, 4, 5, 6}

s.add(7)

删除集合中的元素1

2s = {1, 2, 3, 4, 5, 6}

s.remove(6)