本文詳細羅列歸納了Python常見數據結構,并附以實例加以說明,相信對讀者有一定的參考借鑒價值。
總體而言Python中常見的數據結構可以統稱為容器(container)。而序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。
一、序列(列表、元組和字符串)
序列中的每個元素都有自己的編號。Python中有6種內建的序列。其中列表和元組是最常見的類型。其他包括字符串、Unicode字符串、buffer對象和xrange對象。下面重點介紹下列表、元組和字符串。
1、列表
列表是可變的,這是它區別于字符串和元組的最重要的特點,一句話概括即:列表可以修改,而字符串和元組不能。
(1)、創建
通過下面的方式即可創建一個列表:
list1=['hello','world']print list1list2=[1,2,3]print list2
輸出:
['hello', 'world'][1, 2, 3]
可以看到,這中創建方式非常類似于javascript中的數組。
(2)、list函數
通過list函數(其實list是一種類型而不是函數)對字符串創建列表非常有效:
list3=list("hello")print list3
輸出:
['h', 'e', 'l', 'l', 'o']
2、元組
元組與列表一樣,也是一種序列,唯一不同的是元組不能被修改(字符串其實也有這種特點)。
(1)、創建
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、逗號分隔一些值,元組自動創建完成;
b、元組大部分時候是通過圓括號括起來的;
c、空元組可以用沒有包含內容的圓括號來表示;
d、只含一個值的元組,必須加個逗號(,);
(2)、tuple函數
tuple函數和序列的list函數幾乎一樣:以一個序列(注意是序列)作為參數并把它轉換為元組。如果參數就算元組,那么該參數就會原樣返回:
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)創建
str1='Hello world'print str1print str1[0]for c in str1: print c
輸出:
Hello worldHHello world
(2)格式化
字符串格式化使用字符串格式化操作符即百分號%來實現。
新聞熱點
疑難解答