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'])