字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ;
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的;但键不行,如果同一个键被赋值两次,后一个值会被记住。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组(列表这样的可变类型不能作为键)。
一、字典的创建、访问:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict2 = { }; //空字典
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
二、字典的修改、添加:
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
三、字典的删除:
del dict['Name']
# 删除键是'Name'的条目
dict.clear()
# 清空字典所有条目
del dict
# 删除字典
四、查询字典中是否包含指定键:
dict.has_key(k)
如果键在字典dict里返回true,否则返回false
查看所有键值对:dict.keys()
、dict.values()
、dict.items()
;返回值的类型为列表
五、遍历字典:
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)
按照value进行排序
print sorted(dict1.items(), key=lambda d: d[1])
或:
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的区别
list:
按距离差访问元素
顺序访问,速度慢
存储空间要求小
dict:
按索引访问元素
需要大空间,但访问很快
set:
元素不可重复
其它和dict基本类似
集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
灵活使用字典将对你的Python编程工作带来很大的帮助,大家一定要熟练掌握Python字典的使用方法
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]