[笔记] Python字典
好记忆不如烂笔头:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | #__author:Mifen #date: 2018/11/28 #不可变类型:整型,字符串,浮点型(不等于小数,但包括小数),元组(只读,不可修改) #可变类型:列表,字典(键必须是不可变类型) #字典两大特点:键唯一,无序 # #创建字典: # dict_0 = {} # 创建一个空字典 # print(dict_0) #print(type(dict_0)) # dict_1 = {'name':'Mifen','age':'90'} # dict_1['hobby'] = 'play games' #如果字典里不存在这个键(hobby)则添加进去,否则修改值 # print(dict_1) # dict_1['name'] = 'Alen' # 存在相同键值,则替换》》》Mifen 替换为 Alen # print(dict_1) #1.增 # dict_2 = {'name':'Mifen','age':'90'} # dict_2.setdefault('age','30') #setdefault:如果age这个键存在,不做任何修改, # # 返回存在的值,没有则添加进去,并返回添加进去的值 # print(dict_2) # value = dict_2.setdefault('age','30') # print(value) # value_2 = dict_2.setdefault('speciality','code') # print(dict_2) # print(value_2) #2.查 # dict_3 = {'name':'Mifen','age':'90'} # print(dict_3['name']) #通过键名查值 # print(dict_3.keys()) # # key_list = list( dict_3.keys() ) #keys表示拿到字典的全部键名,list为把数据转换成列表 # value_list = list( dict_3.values() ) #value 表示拿到字典的全部 的值 # print(' all key %s all value %s ' % (key_list,value_list)) # print(type(dict_3.keys())) #不转为list时 为 dict_keys 类型 #3.改 # list_1 = [1,2,3,4] # list_1[0] = 5 #列表:通过 '索引值' 拿到列表的值进行修改 # print(list_1) # dict_4 = {'name':'Mifen','age':'90'} # dict_4['age'] = 66 #字典: 类似于列表,字典通过 ‘键’ 拿到数据进行修改 # print(dict_4) # list_2 = [1,2,3,4] # list_3 = [9,8,9,4,9] # print(list_2 + list_3) #原始的连接操作(+)则不然,它会返回一个全新的列表,不会对列表进行任何修改 # list_2.extend(list_3) # extend 方法修改了被扩展的列表,可以在列表的末尾一次性追加另一个序列中的多个值。 # print(list_2) # # dict_5 = {'name':'Mifen','age':'90'} # dict_6 = {'name':'Alen','hobby':'read'} # dict_5.update(dict_6) #通过更新字典进行修改,类似于extend操作,如果键值相同会进行覆盖,不同则添加进字典 # print(dict_5) #dict_5 的name改变了 # print(dict_6) #4.删 # dict_7 = {'name':'Alen','hobby':'read'} # del dict_7['name'] # 把字典中的这个键和值删除 # print(dict_7) # del dict_7 #整个字典删除 # print(dict_7) #会报错 name 'dict_7' is not defined # # dict_7.clear() #直接把字典清空 ,留下一个空字典 # print(dict_7) # dict_8 = {'name':'Alen','hobby':'read','height':'168'} # return_value = dict_8.pop('name') #更列表差不多一样,但pop(必须由key),应为字典无序,把name删掉,返回删除的值 # print(return_value) # print(dict_8) # dict_9 = {'name':'Alen','hobby':'read','height':'168','hair':'black'} # a = dict_9.popitem() #随机删除一个值 ,字典是 ’无序‘ 的,和pop一样有返回(元组方式返回) # print(a) # print(dict_9) #5.其它操作及方法 # dict_10 = dict.fromkeys(['p1','p2','p3','p4','p5'],'test') #生成一个字典 # print(dict_10) #{'p1': 'test', 'p2': 'test', 'p3': 'test', 'p4': 'test', 'p5': 'test'} # dict_11 = dict.fromkeys(['p1','p2','p3','p4','p5'],['test1','test2']) # print(dict_11) #{'p1': ['test1', 'test2'], 'p2': ['test1', 'test2'], 'p3': ['test1', 'test2'], 'p4': ['test1', 'test2'], 'p5': ['test1', 'test2']} #6.字典嵌套 # av_catalog = { # "欧美":{ # "www.youporn.com": ["很多免费的,世界最大的","质量一般"], # "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"], # "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"], # "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"] # }, # "日韩":{ # "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"] # }, # "大陆":{ # "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"] # } # } # # #要求:把质量一般改为高清无码 # av_catalog["欧美"]["www.youporn.com"][1] += "高清无码" #多级菜单的访问 # # av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来" #进行字符串的拼接 # # print(av_catalog["大陆"]["1024"]) #ouput ['全部免费,真好,好人一生平安', '服务器在国外,慢,可以用爬虫爬下来'] # #字典排列 # x = [4, 6, 2, 1, 7, 9] # x.sort(reverse= True)#x.sort(reverse=True) #reverse倒过来 # print(x) #[9, 7, 6, 4, 2, 1] # # dict_12= {'name':'Alen','hobby':'read','height':'168'} # print(sorted(dict_12)) # sorted(dict) : 返回一个有序的包含字典所有 'key的列表',并不是返回字典(无序) # print(sorted(dict_12.values())) #['168', 'Alen', 'read'] # print(sorted(dict_12.items())) #[('height', '168'), ('hobby', 'read'), ('name', 'Alen')] 按key排位 #遍历字典三种方法;推荐第一种 # dict_12= {'name':'Alen','hobby':'read','height':'168'} # for i in dict_12: #返回key # print(i,dict_12[i]) # # for items in dict_12.items(): #返回元组 # print(items) # # for keys,values in dict_12.items(): # print(keys,values) # for i in dict_12.values(): # print(i) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库