機器學習之python學習(十八)
阿新 • • 發佈:2018-11-01
今天來學習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)佔用空間小,浪費記憶體很少
加油一起學習,更新完畢