07_字典
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 139 140 141 142 | # 1.首先,字典是以键值对的形式进行存储数据的 # 字典的表示方式:{key:value, key2:value, ...} # dic = {"jay": "周杰伦", "金毛狮王": "谢逊"} # val = dic["jay"] # print(val) # 字典的 key 必须是可哈希的数据类型(不可变类型) # 字典的 value 可以是任何数据类型 # dic = {[]:123} # print(dic) # dic = {"詹姆斯": ["孩子1", "孩子2"]} # print(dic) # 2.字典的增删改查 # 字典的增加 # dic = dict() # dic["jay"] = "周杰伦" # dic[2] = 3 # print(dic) # # 字典的修改 # dic['jay'] = "昆凌" #此时,字典中已经有了jay,此时执行的就是修改操作了 # print(dic) # dic.setdefault("tom","哈哈") #设置默认值,如果以前已经有了tom了,setdefault就不起作用了 # dic.setdefault("tom","xixi") # print(dic) # 字典的删除 # dic.pop("jay") #根据key删除 # print(dic) # # 字典的查询 # print(dic["jay557775"]) #如果key不存在,程序会报错,当你确定你的key是没有问题的,可以用 # print(dic.get('jay555')) #如果key不存在,程序返回None,当你不确定你的key可以用 # None # a = None # print(a) # print(type(a)) # s = "" #空字符串和None不一样 # 例子 # dic = { # "赵四": "特别能歪嘴", # "刘能": "老,老四啊。。", # "大脚": "跟这个和那个搞对象", # "大脑袋": "瞎折腾", # } # name = input("请输入你想知道我们村的人的名字:") # val = dic.get(name) # if val is None: # print("俺们村没有这个人") # else: # print(val) # 字典进阶操作 -- 循环和嵌套 # dic = { # "赵四": "特别能歪嘴", # "刘能": "老,老四啊。。", # "大脚": "跟这个和那个搞对象", # "大脑袋": "瞎折腾", # } # # 1.可以用for循环,直接拿到key # for key in dic: # print(key, dic[key]) # 2.希望把所有的key全部都保存在一个列表中 # print(dic.keys()) # print(list(dic.keys())) # 3.希望把所有的value都放在一个列表中 # print(list(dic.values())) # 4.直接拿到字典中的key和value # print(dic.items()) # for key,value in dic.items(): # 可以直接拿到字典所有的key和value # # print(item) #确定item中只有两项元素 # # key,value = item # print(key, value) # a, b = (1, 2) #元组或列表都可以执行该操作,该操作被称为解构(解包) # print(a) # print(b) # 非常重要(****) # for k, v in dic.items(): # print(k,v) # 字典的嵌套 # wangfeng = { # "name": "汪峰", # "age": "18", # "wife": { # "name": "皮特张", # "hobby": "演习", # "assistant": { # "name": "乔峰", # "age": 23, # } # }, # "children": [ # {"name": "孩儿1", "age": 2}, # {"name": "孩儿2", "age": 2}, # {"name": "孩儿3", "age": 2}, # ] # } # # 汪峰妻子助手的名字 # # name = wangfeng["wife"]['assistant']["name"] # # print(name) # # 给wangfegn的第二个孩子加1岁 # wangfeng['children'][1]['age'] = wangfeng['children'][1]['age'] + 1 # print(wangfeng) # 补充,字典的循环删除 dic = { "赵四" : "特别能歪嘴" , "刘能" : "老,老四啊。。" , "大脚" : "跟这个和那个搞对象" , "大脑袋" : "瞎折腾" , } temp = [] for key in dic: if key.startswith( '大' ): temp.append(key) # dic.pop(key) # RuntimeError: dictionary changed size during iteration,循环时又改变了长度 for t in temp: # 循环列表,删除字典中的内容 dic.pop(t) print (dic) |
本文作者:香菜哥哥
本文链接:https://www.cnblogs.com/yizhipanghu/p/17635248.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2018-08-16 LVM基本介绍与常用命令
2018-08-16 selenium加载配置参数,让chrome浏览器不出现‘Chrome正在受到自动软件的控制’的提示语,以及后台静默模式运行,不占用桌面的方法