详解Python中dict与set的使用
Python中类似于PHP的数组的结构有list,tuple,dict和set,其中list,tuple和set的类似于PHP的索引数组,而dict就类似于PHP的关联数组,
dict:
dict的结构表示了一种映射关系,与PHP的关联数组类似,比如要定义个用户信息如下:
name:Yi_Zhi_Yu sex:Man country:China
这个使用list,tuple和set都是不能直接表示出来的,因为没有能够使用字符串做键值的结构,而dict就可以,如下
m={"name":"Yi_Zhi_Yu","sex":"Man","country":"China"}//注意这里是`{}`,不是`[]` printm["name"]//Yi_Zhi_Yu printm["sex"]//Man printm["country"]//China
dict的数值对象有个get方法,让我们可以在获取指定key的时候可以指定默认值
- dict在查找(hashkey)和插入(没有顺序要求)速度方面比较有优势,但内存消耗较大
- 而list则正好相反
Set:
Set与List和Tuple类似,但Set中的值是不会重复的
比如要定义学的课程,使用set定义:
定义如下:
classes=set([u"语文",u"数学",u"英文"])//set关键词,括号中是个list printclasses//set([u'\u8bed\u6587',u'\u6570\u5b66',u'\u82f1\u6587'])
添加的方法是add
classes.add(u"数学")
//不会有重复 printclasses//set([u'\u8bed\u6587',u'\u6570\u5b66',u'\u82f1\u6587']) classes.add(u"历史") printclasses//set([u'\u8bed\u6587',u'\u6570\u5b66',u'\u5386\u53f2',u'\u82f1\u6587'])
删除的方法是remove:
classes.remove(u"历史") printclasses//set([u'\u8bed\u6587',u'\u6570\u5b66',u'\u82f1\u6587'])