本文詳細(xì)羅列歸納了Python常見數(shù)據(jù)結(jié)構(gòu),并附以實(shí)例加以說明,相信對讀者有一定的參考借鑒價(jià)值。
總體而言Python中常見的數(shù)據(jù)結(jié)構(gòu)可以統(tǒng)稱為容器(container)。而序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。
一、序列(列表、元組和字符串)
序列中的每個(gè)元素都有自己的編號。Python中有6種內(nèi)建的序列。其中列表和元組是最常見的類型。其他包括字符串、Unicode字符串、buffer對象和xrange對象。下面重點(diǎn)介紹下列表、元組和字符串。
1、列表
列表是可變的,這是它區(qū)別于字符串和元組的最重要的特點(diǎn),一句話概括即:列表可以修改,而字符串和元組不能。
(1)、創(chuàng)建
通過下面的方式即可創(chuàng)建一個(gè)列表:
list1=['hello','world']print list1list2=[1,2,3]print list2
輸出:
['hello', 'world'][1, 2, 3]
可以看到,這中創(chuàng)建方式非常類似于javascript中的數(shù)組。
(2)、list函數(shù)
通過list函數(shù)(其實(shí)list是一種類型而不是函數(shù))對字符串創(chuàng)建列表非常有效:
list3=list("hello")print list3
輸出:
['h', 'e', 'l', 'l', 'o']
2、元組
元組與列表一樣,也是一種序列,唯一不同的是元組不能被修改(字符串其實(shí)也有這種特點(diǎn))。
(1)、創(chuàng)建
t1=1,2,3t2="jeffreyzhao","cnblogs"t3=(1,2,3,4)t4=()t5=(1,)print t1,t2,t3,t4,t5
輸出:
(1, 2, 3) ('jeffreyzhao', 'cnblogs') (1, 2, 3, 4) () (1,)
從上面我們可以分析得出:
a、逗號分隔一些值,元組自動(dòng)創(chuàng)建完成;
b、元組大部分時(shí)候是通過圓括號括起來的;
c、空元組可以用沒有包含內(nèi)容的圓括號來表示;
d、只含一個(gè)值的元組,必須加個(gè)逗號(,);
(2)、tuple函數(shù)
tuple函數(shù)和序列的list函數(shù)幾乎一樣:以一個(gè)序列(注意是序列)作為參數(shù)并把它轉(zhuǎn)換為元組。如果參數(shù)就算元組,那么該參數(shù)就會(huì)原樣返回:
t1=tuple([1,2,3])t2=tuple("jeff")t3=tuple((1,2,3))print t1print t2print t3t4=tuple(123)print t45
輸出:
(1, 2, 3)('j', 'e', 'f', 'f')(1, 2, 3)
Traceback (most recent call last):
File "F:/Python/test.py", line 7, in <module>
t4=tuple(123)
TypeError: 'int' object is not iterable
3、字符串
(1)創(chuàng)建
str1='Hello world'print str1print str1[0]for c in str1: print c
輸出:
Hello worldHHello world
(2)格式化
字符串格式化使用字符串格式化操作符即百分號%來實(shí)現(xiàn)。
新聞熱點(diǎn)
疑難解答
圖片精選