Python中相似於PHP的數組的結構有list,tuple,dict和set, 其中list, tuple和set的相似於PHP的索引數組, 而dict就相似於PHP的關聯數組,數組
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 與 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'])
刪除的方法是remove
:get
classes.remove(u"歷史") print classes // set([u'\u8bed\u6587', u'\u6570\u5b66', u'\u82f1\u6587'])