python基础之字典

    科技2022-07-13  114

    python基础之字典

    字典

    #字典是键-值存储,可变对象,无序的,键唯一 dict1={'A':'apple','B':'book'} dict2={'B':'book','A':'apple'} print(dict1==dict2) list1=[1,2] list2=[2,1] print(list1==list2) #新增元素 dict1['C']='cake' print(dict1) #如果键相同,则值的更新 dict1['B']='byte' print(dict1) dict3={'A':'apple','A':'ace'} #定义字典时,有多个相同的键,也只会保留最后一个 print(dict3) #一次新增或修改多个键值对 dict1.update({'B':'byte','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('在字典中') else: print('不在字典中') #字典的键必须是不可变对象,可以存放字符串,数字,元组,不可以存放列表,字典. #字典的值可以是任意数据类型 dict3={(1,2):{3,4},'A':'apple','B':'book'} #显示字典中所有的键 print(dict3.keys()) #类列表,可以遍历,但不能用下标 for one in dict3.keys(): #可以遍历 print(one) #如果需要用到列表,可以用list()函数将类列表转换为真正的列表 print(list(dict3.keys())) #显示字典中所有的值 print(dict3.values()) for one in dict3.values(): print(one) #遍历字典中所有的元素 for k,v in dict3.items(): print(k,v) #json模块 import json data1='''{ "name" : "桃子猫的布偶", "location" : "bj", "language1" : "java", "language2" : "python" }''' print(type(data1)) data2=json.loads(data1) #loads方法可以将json格式转换为字典 print(type(data2)) print(type(json.dumps(data2))) #dumps方法可以将字典转回json格式 #load于loads的区别,前者是从文件中读取json文本,后者是在变量中读取 with open('d:/json3.txt') as file1:#注意:需要先创建文件并write点内容 temp3=json.load(file1) print(type(temp3)) #dump与dumps的区别,前者是将字典转换成json数据写入到文件中,后者是直接在代码中将字典转换成json格式 with open('d:/json30.txt','w+') as file2: json.dump(data2,file2) file2.seek(0) print(type(file2.read()))

    打印结果演示

    True False {'A': 'apple', 'B': 'book', 'C': 'cake'} {'A': 'apple', 'B': 'byte', 'C': 'cake'} {'A': 'ace'} 2213361321520 {'A': 'apple'} 2213393068896 2213393068896 不在字典中 dict_keys([(1, 2), 'A', 'B']) (1, 2) A B [(1, 2), 'A', 'B'] dict_values([{3, 4}, 'apple', 'book']) {3, 4} apple book (1, 2) {3, 4} A apple B book <class 'str'> <class 'dict'> <class 'str'> <class 'dict'> <class 'str'>
    Processed: 0.011, SQL: 8