Python的dict與set

Python中相似於PHP的數組的結構有list,tuple,dict和set, 其中list, tuple和set的相似於PHP的索引數組, 而dict就相似於PHP的關聯數組,數組

dict:

dict的結構表示了一種映射關係, 與PHP的關聯數組相似, 好比要定義個用戶信息以下:code

name: Yi_Zhi_Yu
sex: Man
country: China

這個使用list,tuple和set都是不能直接表示出來的, 由於沒有可以使用字符串作鍵值的結構,而dict就能夠,以下對象

m = {"name":"Yi_Zhi_Yu", "sex":"Man", "country": "China"} //注意這裏是`{}`, 不是`[]`
print m["name"] //Yi_Zhi_Yu
print m["sex"]  //Man
print m["country"] //China

dict 的數值對象有個get方法, 讓咱們能夠在獲取指定key的時候能夠指定默認值索引

dict 在查找(hash key)和插入(沒有順序要求)速度方面比較有優點,但內存消耗較大
而list則正好相反內存

Set

Set 與 List 和 Tuple 相似, 但Set中的值是不會重複
好比要定義學的課程,使用set定義:
定義以下:rem

classes = set([u"語文", u"數學", u"英文"]) //set 關鍵詞, 括號中是個list
print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])

添加的方法是add字符串

classes.add(u"數學")
//不會有重複
print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])
classes.add(u"歷史")
print classes //set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u5386\u53f2', u'\u82f1\u6587'])

刪除的方法是removeget

classes.remove(u"歷史")
print classes // set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])
相關文章
相關標籤/搜索