Python中內(nèi)置的數(shù)據(jù)結(jié)構(gòu)分別是:list、tuple、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ō)明
dict = ["B": "百度", "A": "阿里巴巴", "T": "騰訊"]
dict["A"]
| 函數(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)