字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ;
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的;但键不行,如果同一个键被赋值两次,后一个值会被记住。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组(列表这样的可变类型不能作为键)。
创建、访问:
字典中包含列表:dict={'yangrong':['23','IT'],'xiaohei':['22','dota']}
字典中包含字典:dict={'yangrong':{'age':'23','job':'IT'},'xiaohei':{''age':'22','job':'dota''}}
修改、添加:dict['Age'] = 8; # update existing entrydict['School'] = 'DPS School'; # Add new entry删除:
查看是否包含特定key:
dict.has_key(k)遍历:
for d,x in dict.items():
print 'key:'+d+',value:'+x
for k in dict.keys():
print 'key:'+k+',value:'+dict[k]
排序:
# 按照key进行排序
print sorted(dict1.items(), key=lambda d: d[0])
或:
sorted(d.items(), lambda x, y: cmp(x[0], y[0])), 或反序:
sorted(d.items(), lambda x, y: cmp(x[0], y[0]), reverse=True)
或:
sorted(d.items(), lambda x, y: cmp(x[1], y[1])), 或反序:
sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True)
list:
按距离差访问元素
顺序访问,速度慢
存储空间要求小
dict:
按索引访问元素
需要大空间,但访问很快
set:
元素不可重复
其它和dict基本类似
|、&、-、^,分别是:并、交、差、逆差
联系客服