python 2.7 資料結構: 基礎面試總結
python中基礎的資料類型包括:
1 Number(數字)
2 String(字元串)
3 List(清單)
4 Tuple(元組)
5 set(集合)
6 Pictionary(字典)
按照可變資料和不可變資料來區分:
不可變資料(3個):Number(數字),String(字元串),Tuple(元組)
可變資料(3個):List(清單),Dictonary(字典),set(集合)
建立方式:
建立清單: listT=[1,2,3,4,5]
建立元組:tup2=(1,2,3,4,5)
建立字典:dict2={"abc":123,"def":789}
建立集合:student={'Tom','Jim','Mary'}
清單:清單中元素的類型可以不相同,它支援數字,字元串甚至可以包含清單(所謂嵌套)【插入資料可重複,資料不唯一】
listT=[1,"2",(3,4,5,6),[7,8,9],{"10":11},{12,13,14}] #清單可以存儲資料類型:數字,字元,元組,清單,字典,set
print listT #得:[1, '2', (3, 4, 5, 6), [7, 8, 9], {'10': 11}, set([12, 13, 14])]
元組:元組(tuple)與清單類似,元組不能二次指派。【元組本身是隻讀對象,如果元組中的對象是可變類型資料,可變類型資料依然可以修改】
tuple=(1,"2",(3,4,5,6),[7,8,9],{"10":11},{12,13,14}) #元組可以存儲資料類型:數字,字元,元組,清單,字典,set
print tuple
print tuple[0]
print tuple[3]
tuple[3][0]=77
print tuple[3]
一下為輸出測試結果:
#(1, '2', (3, 4, 5, 6), [7, 8, 9], {'10': 11}, set([12, 13, 14]))
# 1
#[7, 8, 9]
#[77, 8, 9]
字典:清單是有序的對象集合,字典是無序的對象集合【鍵必須是唯一的,但值則不必;值可以取任何資料類型,但鍵必須是不可變的】
dict2={1:1,"2":"2",(3):(3)}
print dict2 #得 {3: 3, 1: 1, '2': '2'} 元組類型發生了改變
dict2={1:1,"2":"2",(3,2):(3,2)}
print dict2 #{1: 1, (3, 2): (3, 2), '2': '2'} 元組未發生改變
dict2={1:1,"2":"2",(3,2):(3,2),4:[5],"5":{"66":"66"},(3):{"77","88"}} #鍵必須是不可變的,值可以是任何類型:依次為數字,字元,元組,清單,字典,set集合
print dict2 #得 {1: 1, (3, 2): (3, 2), 3: set(['77', '88']), 4: [5], '2': '2', '5': {'66': '66'}}
集合:set是一個無序的不重複元素序列
set={1,"2",(3,2)}
print set # 得:set([1, (3, 2), '2']) ;看到資料結構後着實讓人發現原來set集合内部結構也是一個清單。這就不難了解為啥可以用set給list清單去重
set={1,"2",(3,2)} #集合隻能存放不可變類型,可變類型放入後會報錯
print set
list=[4,5,6]
dict2={"9":"10"}
set={6,7,8}
#set.add(list) #TypeError: unhashable type: 'list'
#set.add(dict2) #TypeError: unhashable type: 'dict'
#set.add(set) #TypeError: unhashable type: 'set'
面試常問問題:
1 list清單可以存儲的類型結構:數字,字元串,元組,清單,字典,set
2 tuple元組可以存儲資料類型:數字,字元,元組,清單,字典,set
3 dict字典可以存儲資料類型:分别說:鍵(不可變),值(數字,字元,元組,清單,字典,set集合)
4 set集合可以存儲資料類型:不可變類型(數字,字元,元組)
原文位址
https://www.cnblogs.com/renguiyouzhi/p/10476060.html