一、字典的定义
字典是一种key - value的数据类型;无序的,key值唯一,故去重。
1 #字典是无序的,key值唯一,故去重。 2 info = { 3 'stu101': "TengLan Wu", 4 'stu102': "LongZe Luola", 5 'stu103': "XiaoZe Maliya", 6 'stu104': "JiZe MingBu" 7 } 8 print(info)
1、查找
1 #字典查找 2 print('字典查找'.center(50,'-')) 3 print(info) 4 print(info['stu101']) #不存在报错 5 print(info.get('stu101')) #一般建议用get函数,无返回None 6 print(info.setdefault('stu104')) #和 get() 方法类似,返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None 7 print(info) 8 print(info.setdefault('stu001','SongTiangFeng')) 9 print(info) 10 print('stu110' in info) #是否存在key 11 12 13 #字典key值 14 print('字典key值'.center(50,'-')) 15 print(info) 16 info_keys = info.keys() 17 print('字典所有key值: ',info_keys) 18 print('字典所有key值,转化为列表: ',list(info_keys)) 19 20 #字典value值 21 print('字典value值'.center(50,'-')) 22 print(info) 23 info_values = info.values() 24 print('字典所有value值: ',info_values) 25 print('字典所有value值,转化为列表: ',list(info_values)) 26 27 #字典item:以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回可遍历的(键, 值) 元组列表 28 print('字典item'.center(50,'-')) 29 print(info) 30 info_items = info.items() 31 print('字典值: ',info_items) 32 print('字典值,转化为列表: ',list(info_items))
2、字典修改
1 #字典修改 2 print('字典修改'.center(50,'-')) 3 print(info) 4 info['stu101'] = '武藤兰' #修改 5 info['stu105'] = 'Can laoshi' #增加 6 print(info) 7 8 #合并字典,同一key值更新 9 print('合并字典,同一key值更新'.center(50,'-')) 10 print(info) 11 info2 = {'1':'no.1','2':'mo.2','stu105':'仓**'} 12 info.update(info2) 13 print(info)
3、字典删除
1 #字典删除 2 print('字典删除'.center(50,'-')) 3 print(info) 4 del info['stu104'] #删除 5 info.pop('stu101') #标准删除姿势 6 info.popitem() #随机删除一个,不建议使用 7 print(info)
4、字典遍历
1 #字典遍历 2 print('字典遍历'.center(50,'-')) 3 print(info) 4 for key in info: 5 print(key,info[key]) 6 print('---------') 7 for key,value in info.items(): #数据量大时请勿使用,需转化为列表 8 print(key,value)
5、fromkeys函数
1 #fromkeys函数创建字典 2 print('fromkeys函数创建字典'.center(50,'-')) 3 info3 = dict.fromkeys([1,2,3],'test1') 4 print(info3) 5 info3[2] = 'Test_haha' 6 print(info3) #一切正常 7 8 info4 = dict.fromkeys([1,2,3],{"id1":['aa','bb']}) 9 print(info4) 10 info4[2]['id1'] = ['ccccccc'] #类似列表copy方法 11 print(info4)
6、*男专用字典
1 av_catalog = { 2 "欧美":{ 3 "www.youporn.com": ["很多免费的,世界最大的","质量一般"], 4 "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"], 5 "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"], 6 "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"] 7 }, 8 "日韩":{ 9 "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"] 10 }, 11 "大陆":{ 12 "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"] 13 } 14 } 15 16 av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来" 17 print(av_catalog["大陆"]["1024"])