#字典的概念,字典其实就是键值对的方式出现的一种数据类型,字典也是可变对象 #字典是无序的 dict1={‘a’:‘apple’,‘b’:‘boy’} dict2={‘b’:‘boy’,‘a’:‘apple’} print(dict1dict2) list1=[1,2] list2=[2,1] print(list1list2)
#新增元素 dict1[‘c’]=‘cake’ print(dict1)
#如果键已经存在于字典中,则进行值的更新,在字典中,键是唯一的 dict1[‘b’]=‘bye’ print(dict1)
dict3={‘a’:‘apple’,‘a’:‘ace’}#定义字典时,有多个相同的键,也只会保留最后一个 print(dict3)
#一次新增或修改多个键值对 dict1.update({‘b’:‘bb’,‘c’:‘cat’}) print(id(dict1))
#删除字典中的键值对 del dict1[‘c’],dict1[‘b’] print(dict1)
#清空字典 dict1={} #重新赋值了一个新的空字典,内存中的地址重新生成了 print(id(dict1)) dict1.clear() #清空字典,内存中的地址不变 print(id(dict1))
#判断某个值是否位于字典中,可以用in来判断,注意判断的依据是键而不是值 if ‘a’ in dict1: print(‘yes’) else: print(‘no’)
#字典的键可以存放字符串,数字,元组,不可以存放列表,字典,也就是字典的键必须是不可变对象 #字典的值可以是任意数据类型 dict3={(1,2):{3,4}} print(dict3)
#显示字典中所有的键 print(dict3.keys()) #类列表,可以遍历,但不能用下标 for one in dict3.keys(): #可以遍历 print(one) #当需要用到列表时,可以用list()函数将类列表转换成真正的列表 print(list(dict3.keys()))
#显示字典中所有的值 print(dict2.values()) for one in dict2.values(): print(one)
#遍历字典中所有的元素 for k,v in dict2.items(): print(k,v)
#json模式 import json data1=’’’{ ‘a’:‘apple’ ‘b’:‘byte’}’’’ print(type(data1)) data2=json.loads(data1) #loads方法可以将json格式转换成字典 print(type(data2)) print(type(json.dumps(data2))) #dumps方法可以将字典转回json格式
#load与loads的区别,前者是从文件中读取json文本,后者是在变量中读取 with open(r’C:\test\note1.txt’) as file1: a=json.load(file1) print(type(a))
#dump与dumps的区别,前者是将字典转换成json数据写入到文件中;后者是直接在代码中将字典转换成json格式 with open(r’C:\test\note1.txt’) as file1: json.dump(data2,file1) print(type(data2))