列表 元組 字典 集合的區別是python面試中最常見的一個問題。這個問題雖然很基礎,但確實能反映出面試者的基礎水平。
(1)列表
什么是列表呢?我覺得列表就是我們日常生活中經常見到的清單。比如,統計過去一周我們買過的東西,把這些東西列出來,就是清單。由於我們買一種東西可能不止一次,所以清單中是允許有重復項的。如果我們擴大清單的范圍,統計我們過去一周所有的花費情況,那么這也是一個清單,但這個清單里會有類別不同的項,比如我們買東西是一種花費,交水電費也是一種花費,這些項的類型是可以使不同的。python的列表個跟清單的道理是一樣的,特點就是:可重復,類型可不同。類型不同也是跟數組最本質的區別了。python里的列表用“[]”表示:
lst = ['arwen',123]
print lst[0]
print lst[1]
lst[0] = 'weiwen'
向list中添加項有兩種方法:append和extend。append是向
如:
(2)元組
元組和列表在結構上沒有什么區別,唯一的差異在於元組是只讀的,不能修改。元組用“()”表示,如:
tup = ('arwen',123)
print tup[0]
print tup[1]
(3)集合就是我們數學學的集合,沒有什么特殊的定義。集合最好的應用是去重。集合沒有特殊的表示方法,而是通過一個set函數轉換成集合,如:
lst = [ 1, 1, 0]
lst_set = set( lst ) #lst_set 為1 , 0
tup = (2, 2, 1)
tup_set = set( tup) # tup_set為2 , 1
for item in lst_set:
print item
(4)最后一個是字典。字典存儲鍵值對數據,如:
1:a,2:b,3:c
字典最外面用大括號,每一組用冒號連起來,然后各組用逗號隔開。
字典最大的價值是查詢,通過鍵,查找值。
