1. 程式人生 > >Python中列表和字典的區別以及適用的場景

Python中列表和字典的區別以及適用的場景

從應用場景來說:


list 是記錄簡單有序資料的,就是一對一的那種,可以理解為一維陣列.

比如你記錄貓的名字,就可以用list = ['第1只貓名字','第2只貓名字'] ...

比如你記錄飯店的菜品,就可以用list = ['第1個菜紅燒肉','第2個菜紅燒大腸',第3個菜'紅燒排骨'] ...

這裡的記錄,是多條記錄重複的,需要按一定順序來記錄.

list 也可以有巢狀,巢狀裡面的list仍然可以理解為一維陣列

比如常見的季度與月份的關係 list = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

又或者你從excel讀取一行資料,存到list中,也需要用到list巢狀

又或者你從SQL讀取一行資料,存到list中,也會用的list巢狀.

這裡的記錄,是多條按一定順序存放的,仍然需要按一定順序來讀取存放.


上面是我理解的list,有序的應用場景.


dict 是記錄複雜無序資料,就是一對多,可以理解為多維陣列.

比如你記錄一次野餐朋友帶的食物數量, dict = {'小明':{'紅燒肉':6,'大閘蟹':8,'水煮魚':1},'小花':{'黃瓜':9,'番茄':2},'小六子':{'啤酒':30,'可樂':40}}

dict可以巢狀list,把無序的資料調整為有序的資料,可以簡單地理解為,一對多個一維陣列,本質上還是多維陣列.

比如你要記錄同學們有多少個女朋友,dict = {'小明':['1號女友','2號女友'],'大個子':['1號女友','2號女友','3號女友']},你要統計誰的女朋友多,這個就比較明顯地體現出來了.

比如你要記錄一次會議參加的人員的基本資訊,大家的資訊都不一樣時,也是無序隨機事件:

dict = {'男性':{'張博':{'年齡':30,'職業':'老師','級別':'高階教師'},'王強':{'手機':'1309999999'}},'女性':{'小花':{'愛好':'化妝','職業':'美容師'}}}