10字典

‘‘‘‘‘‘‘‘‘字典(Dict)是python语言的一个最大的特征1.定义:是可变的无序集合,以键值对为基本元素,可以存储各种数据类型2.表示:{}    列表:[]   元组 ()   字符串 ‘’  “”  ‘‘‘ ’’’3.元素之间用逗号(,)分割4.键值对:{键:对}   键:Key   对:Value -----》  字典属于一对一映射关系的数据类型‘‘‘d1={}print(len(d1))   #空字典   len()获取字典元素个数‘‘‘6.字典的键值设置要求(1)一个字典对象里面所有的键必须唯一‘‘‘d2={1:‘car‘,2:‘bus‘,2:‘train‘}print(d2)‘‘‘{1: ‘car‘, 2: ‘train‘}说明:当键重复时,只会输出一个,也就是最后的那个‘‘‘############################################################‘‘‘(2)不能对元素的键进行直接修改‘‘‘d3={‘Alan‘:22,‘Tom‘:23,‘Mike‘:35}print(d3)d3[‘Alan‘]=21print(d3)‘‘‘{‘Alan‘: 22, ‘Tom‘: 23, ‘Mike‘: 35}{‘Alan‘: 21, ‘Tom‘: 23, ‘Mike‘: 35}不能对元素的键进行直接修改,但是我们可以通过下标这种方式修改:字典名[键]=值,如果字典中没有通过这个下标法设置的键,那么就会在这个字典中新增一个键值对,如果有,就修改对应键的值‘‘‘‘‘‘(3)值可以是Python支持的任何对象‘‘‘‘‘‘7.字典的基本方法(1)字典元素的增加    1.下标法赋值:上述已经说过了,这里不再赘述    2.setdefault()方法:使用格式是D.setdefault(k[,d])  若指定键已经存在,则不会修改键对应的值,而是直接显示已经存在键的值。‘‘‘d4={‘Alan‘:22,‘Tom‘:23,‘Mike‘:35}d4.setdefault(‘Alice‘,10)print(d4)d4.setdefault(‘Alan‘,24)print(d4)‘‘‘(2)字典值查找    1.通过指定键来查找    2.get()方法:使用格式是D.get(k[,d])‘‘‘print(d4[‘Alan‘]) #查找出对应键的值print(d4.get(‘Alice‘))‘‘‘(3)字典值修改    1.下标法赋值:上述也已经说过了,这里不再赘述    2.update()方法:使用格式是D.update(D‘)‘‘‘d5={‘Alan‘:22,‘Tom‘:23,‘Mike‘:24}d6={‘Alan‘:32,‘Mike‘:34}d5.update(d6) #调用update()方法用d6更新d5print(d5) #{‘Alan‘: 32, ‘Tom‘: 23, ‘Mike‘: 34}d5.update({‘Alice‘:20}) #也可以通过这种方法增加一个键值对print(d5)‘‘‘(4)元素删除    1.del    2.pop():使用格式是D.pop(k[,d])    3.popitem():使用格式是D.popitem()    Notes:popitem()不能加参数;这个方法是随机删除;会返回一个键值对元组;并在字典里删除对应的元素‘‘‘del(d5[‘Alice‘])print(d5)d5.pop(‘Alan‘)print(d5)(k1,v1)=d5.popitem()print((k1,v1))print(d5)‘‘‘(5)字典遍历    1.items()方法遍历所有键值对:使用格式是D.items()    2.keys()方法获取键:使用格式是D.keys()‘‘‘for get_L in d4.items():    print(get_L)‘‘‘结果为:(‘Alan‘, 22)(‘Tom‘, 23)(‘Mike‘, 35)(‘Alice‘, 10)‘‘‘for gets in d4:    print(gets)  #遍历所有键‘‘‘结果为:AlanTomMikeAlice‘‘‘for gets1 in d4.keys():    print(gets1)‘‘‘结果为:AlanTomMikeAlice‘‘‘‘‘‘    3.通过键遍历值‘‘‘for get_key in d4:    print(d4[get_key])‘‘‘22233510思想为遍历出键,用下标法根据键遍历出值‘‘‘‘‘‘    4.values()方法:获取字典值:使用格式是D.values()‘‘‘for get_value in d4.values():    print(get_value)‘‘‘22233510‘‘‘‘‘‘(6)其他操作方法    1.in成员操作    2.clear():D.clear():删除字典变量D中的所有元素    3.copy()方法:D.copy():深度复制,复制后产生的两个字典变量完全没有关系,互不影响。    4.fromkeys():D.fromkeys(列表):指定相应键生成空值字典‘‘‘d6={1:‘a‘,2:‘b‘,3:‘c‘,4:‘d‘}if 1 in d6.keys():    print(‘yes‘)else:    print(‘no‘)d7=d6.copy()print(d7)print(id(d6))print(id(d7))‘‘‘把d6的内容赋值给d7;id()方法是获取字典在内存中的地址;结果为26606117261442660611727080发现地址不一样,则说明通过copy()方法复制的两个字典变量,二者虽然内容相同,但指向不同的地址‘‘‘d8=d7print(id(d7))print(id(d8))‘‘‘通过上述方法赋值,结果为13793033009121379303300912说明这种赋值方法,二者将指向同一地址‘‘‘d9={}.fromkeys([‘paper‘,‘pen‘,‘pencil‘])print(d9)‘‘‘{‘paper‘: None, ‘pen‘: None, ‘pencil‘: None}‘‘‘####################################################‘‘‘8.字典嵌套(1)字典嵌入字典(2)列表嵌入字典(3)字典嵌入列表‘‘‘

相关推荐