字典的定义

zidian={
    "key1":{
    "keys1":{"a","b","c"},
    "keys2":{"d","e","f"}
    },
    "key2":{
    "keys3":{"g","h"}
    }
}

访问字典里的值

zidian["key1"]["keys1"]

修改值

del zidian["key2"] #删除key2
zidian["key1"]["keys1"]="a" #将key1键中的值修改为"a",其它内置函数下面介绍

内置函数

dict字典内置函数的使用
1、dict()
2、clear()字典清空
3、keys()得到字典的键列表
4、values()得到字典的值列表
5、items()得到字典的项,即键值对
6、D.get(key[,d]) 如果key在字典中在返回D[key],如果不存在在返回d,的默认为None
7、pop(key[,d])如果key存在,则将对应的项删除,返回该项;如果key不存在,并且没有d参数则返回错误提示,如果传入d参数则显示d的内容
8、popitem()删除字典中的一项,返回该删除项,如果字典为空则会报错
9、D.update([E,]**F) E是可选参数,F是关键字参数。用可迭代对象或者一个字典的E去更新原字典;如个E存在并且有E.keys()方法,则k in E.keys() ,D[K]=E[K];
如果E存在,但是没有keys()方法,则用迭代方法将E中的元素更新到E中,for (key,value) in E,D[key]=value;
如果有关键字参数则,for key in F,D[k]=F[k]
10、D.copy()浅拷贝
11、fromkeys(interable,value=none)

'''
# dict的创建方法
# 直接通过花括号括起来,里面存放键值对,key:value,用逗号隔开
dict1={'name':'lsm','age':30,'job':'teacher'} #dict是无序的
print(dict1)
#通过dict函数创建一个字典
#dict函数的参数有三种方式
# 1、mapping,一个mapping对象(key,value)对
dict2=dict(((1,'one'),(2,'tow'),(3,'three')))
print(dict2)
# 2、可迭代对象 list,tuple
list1=[('name','cxf'),('age',28),('job','economic')]
dict3=dict(list1)
print(dict3)
#3、关键字参数
dict4=dict(a='java',b='python',c='javascript')
print(dict4)
# 4、得到字典的键列表
print(list(dict1.keys()))
# 5、得到字典的项,一个键值对的元组列表
print(dict1.items())
# 6、获取输入的key对应的value
print(dict1.get('name'))
print(dict1.get('city')) #不存在则返回None
print(dict1.get('interest','coding')) #如果有传入第二个参数则在key不存在的时候返回第二个参数的内容
# 7、删除key对应的项,返回该项
dict1.pop('name')
print(dict1)
print(dict1.pop('class','该项不存在')) #这种方式比较好,如果key不存在则会返回自定义提示内容
# 8、删除一项
dict1.popitem()
print(dict1)
# 9、清空字典
dict1.clear()

another_dict=dict2 #创建另外一个字典指向dict2所指向的字典
dict2={} #采用这种方式也可以将字典元素置为空,但实际上只是将dict2重新指向了一个空的字典,原来字典的元素还存在内存中,这是一个不保险的方法
print(another_dict) #字典的元素还是存在的
another_dict.clear() #如果用clear方法则会将字典元素从内存清空
print(another_dict)

print(dict1)
# 10、更新列表
update_list=[('name','llx'),('age',20),('interest','play'),('city','amoi')] #可以是一个列表
update_dict={'job':'engineer','school':'xiamen university'} #更可以是一个字典
dict1.update(update_list)
print(dict1)
dict1.update(update_dict)
print(dict1)

#用关键字更新字典
dict1.update(skill='python')
print(dict1)

#11、字典的拷贝
copy_dict1=dict1.copy()
point_dict1=dict1 #用另外一个变量指向dict1
print('用另一个变量指向dict1的内容为:',point_dict1,'地址为:',id(point_dict1),'原dict的地址为:',id(dict1)) #可见用另一个变量所指向的地址跟原dict1所指向的地址一致

print('浅拷贝dict1的内容为:',copy_dict1,'地址为:',id(copy_dict1))

# 12、fromkeys,第一个参数是一个序列,第二个参数是value值,会生成一个以序列为key,值全部为value的字典
dict5=dict()
dict5=dict5.fromkeys(range(10),'good')
print(dict5)

部分代码来自:http://blog.csdn.net/xmulsm/article/details/50608928