1. 程式人生 > >機器學習之python學習(十八)

機器學習之python學習(十八)

今天來學習python中的資料結構dict,
這個用的也是相對的較少!!!
你們也可以參考廖雪峰大神的python教學快速入門。
總結下來
dict與和list比較,dict有以下幾個特點:
(1)查詢和插入的速度極快,不會隨著key的增加而增加;
(2)需要佔用大量的記憶體,記憶體浪費多。


而list相反:
(1)查詢和插入的時間隨著元素的增加而增加;
(2)佔用空間小,浪費記憶體很少

程式碼塊

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : dictlearn.py
# 今天來學習python中的dict。 # dict翻譯過來是字典與我們其他時候所熟知的字典一樣 # 全名叫做dictionary,類似於java中的map, # 使用鍵-值(key-value)儲存,具有極快的查詢速度。 # (1)dict的建立方法。 dict1={'key1':1,'key2':2,'key3':3} print dict1 #輸出的結果為:{'key3': 3, 'key2': 2, 'key1': 1} # (2)元素的獲取 按照字典的key來進行獲取。 print dict1['key1'] # 輸出的結果為:1 # (3)如果對應的key不存在則會報錯。 例如:
# print dict1['key4'] # 報錯的內容為:KeyError: 'key4' # (4)還有一種方式獲取key所對應的元素值,如果不存在則返回預設值。 print dict1.get('key4',4) # 如果不存在key4,則返回4,但是dict1中依舊為三個元素。 print dict1 # 輸出的結果為:4 # {'key3': 3, 'key2': 2, 'key1': 1} # (5)刪除dict中的元素。 dict1.pop('key3') print dict1 # 輸出的結果為:{'key2': 2, 'key1': 1} # (6)刪除一個不存在的元素。如:
# dict1.pop("key4") # 則會報錯為:KeyError: 'key4' # (7)獲取dict的key for key in dict1: print key #輸出結果為: key2 key1 # (8)獲取所有的value: for key in dict1: print dict1[key] # 輸出結果為:2 1 # (9)一種較為常用的遍歷key和value。 for key,value in dict1.items(): print key+':'+str(value) # 輸出的結果為: # key2:2 # key1:1 # (10)遍歷key的另外一種常用方法。 for key in dict1.iterkeys(): print key # 輸出結果為: key2 key1 # (11)輸出value的另外一種常用方法: for value in dict1.itervalues(): print value # 輸出結果為:2 1 # 總結下來: # dict與和list比較,dict有以下幾個特點: # # (1)查詢和插入的速度極快,不會隨著key的增加而增加; # (2)需要佔用大量的記憶體,記憶體浪費多。 # 而list相反: # (1)查詢和插入的時間隨著元素的增加而增加; # (2)佔用空間小,浪費記憶體很少

加油一起學習,更新完畢