一,字典的简单介绍
字典用{ }表示,每次保存两个数据 key:value ,键值对的形式存储数据
value:可以是任意数据类型,元祖,列表等
key:必须是可哈希的(不可变) key其实就是索引,使用[]
无序的,不按照我们保存的顺序保存,字典不能切片
语法 :
{key1: value1, key2: value2....}
二,字典的增删改查
1,增加
dic["a"] = "1"
dic["a"]= "2" 如果key存在,执行的事修改结果,如果key不存在,执行的事新增
.setdefault() 放置一个值事key,如果key不存在,执行新增,如果key存在,不执行任何操作
dic = {} dic["a"] = "1" dic["a"] = "2" print(dic) #{‘a‘: ‘2‘} dic.setdefault("a","2") #接着上面开始操作,结果为{‘a‘: ‘2‘},没有执行任何操作 dic.setdefault("b","3") #执行新增{‘a‘: ‘2‘, ‘b‘: ‘3‘} print(dic)
2,删除
.pop(" "),引号里面放的是key,返回的事velue
del dic["key"] 没有返回
.clear 清空
.popitem 随机删除
解构: 要相对应,前面几个,后面就要有几个,元祖,列表,字符串都可以解构
a,b = (1,6)
print(a) #1
print(b) #6
3.更改
.update:把dic2更新到dic1中,dic1中如果存在了dic2中的key,会覆盖,如果不存在,则会新增这个key.
dic = {"id": 123, "name": ‘sylar‘, "age": 18} dic1 = {"id": 456, "name": "麻花藤", "ok": "wtf"} dic.update(dic1) # 把dic1中的内容更新到dic中. 如果key重名. 则修改替换. 如果不存在key, 则新增. print(dic) print(dic1)
4.查询
索引查 print(dic[" "]) 查不到会报错,引号里面放置的是key
.get(key,default) 查找,一般用key来查找具体数据
dic = {"name":"haha","age":18,"hobby":"吃"} print(dic["name"]) print(dic.get("hobby"))
5, 其他相关操作
.keys 获取key的集合
dic = {"name":"haha","age":18,"hobby":"吃"} print(dic.keys()) #dict_keys([‘name‘, ‘age‘, ‘hobby‘]) for key in dic.keys(): print(key) # name # age # hobby
.values 获取value的集合
dic = {"name":"haha","age":18,"hobby":"吃"} print(dic.values()) for value in dic.values(): print(value) # haha # 18 # 吃
,items 获取的列表,列表中的每个元素都是元祖,可以通过解构获取key和value
dic = {"name":"haha","age":18,"hobby":"吃"} print(dic.items()) #dict_items([(‘name‘, ‘haha‘), (‘age‘, 18), (‘hobby‘, ‘吃‘)]) for key,value in dic.items(): print(key,value) # name haha # age 18 # hobby 吃
三,字典的嵌套
dic1 = { "name": "汪峰", "age": 18, "wife": { "name": ‘章子怡‘, "age": 28 }, "children": [‘第一个毛孩子‘, ‘第二个毛孩子‘], "desc": ‘峰哥不会告我吧. 没关系. 我想上头条的‘ } print(dic1.get("wife").get("name")) print(dic1.get("children")) print(dic1.get("children")[1])
原文地址:https://www.cnblogs.com/lianghui-lianghui/p/9159765.html