key值需要是不可变对象,字典没有顺序
1、声明一个字典
dictA={ }
2、字典添加元素
dictA[‘name‘]=‘jack‘
dictA[‘age‘]=19
dictA[‘sex‘]=‘male‘
声明字典的第二种方式
dictB={‘name‘:‘cindy‘,‘addr‘:‘China‘,‘age‘:18}
3、查看字典的值
print dictB[‘name‘]
4、修改字典的元素
dictB[‘name‘]=‘Andy‘
print dictB[‘name‘]
5、删除字典的某个元素
del dictB[‘addr‘]
print dictB
删除字典中的条目
del dict1 删除了字典dict1
dict1.clear() 清空dict1,dict1还存在
6、遍历字典的key和value
(1)遍历字典的key值
for key in dictB.keys():
print key
(2)遍历字典的value值
for value in dictB.values():
print value
(3)同时遍历key和values值
for key,value in dictB.items():
print key+‘=‘+ str(value)
7、判断是否有某个值
D2.has_key(‘name‘)
二、字典的高级应用
1、列表转换为字典
定义一个列表
listA=[1,2,3,4,5,6]
生成一个字典,由列表转换为字典,用fromkeys()
dictA = dict.fromkeys(listA,12)
print dictA
2、字典支持的内置函数
len(dict1)
cmp(dict1,dict2)
str(dict1)
type(dict1)
in , not in
3、使用iteritems函数进行字典排序代码示例:
按照key排序:
dic = {‘a‘:31, ‘bc‘:5, ‘c‘:3,‘asd‘:4, ‘33‘:56, ‘d‘:0}
print sorted(dic.iteritems(),key=lambda d:d[0], reverse= False )
按照value 排序:
dic = {‘a‘:31, ‘bc‘:5, ‘c‘:3,‘asd‘:4, ‘33‘:56, ‘d‘:0}
print sorted(dic.iteritems(),key=lambda d:d[1], reverse= False )
dic.iteritems(): #将字典变为一个可迭代对象
使用key的lambda函数进行排序
reverse 设定是否降序,False 为升序