目录
一、字典
1.字典{}:每一个元素都是有一个键值对组成{key:value}
2.字典中的数据规范:
key:不能重复,只能是不可变类型数据(字符串,元组,数值),建议使用字符串
value:可以是任意类型的数据
注:如果有重复的key,那么会把原来的key所对应的值覆盖掉
3.字典定义的2种方式:
第一种
user_info = {"name" :"hao", "age": 18}
第二种
user_info = dict(name="hao", age= 18)
第三种
user_info = [("name", "hao"),("age", 18)]
4.取值
user_info = {"name": "hao", "age": 18}
name = user_info["name"]
print(name)
输出:
hao
二、字典的增删改查
dict = {"a": 11, "b": 22, "c": 33}
1.增加元素
1.1添加元素:通过键值去增加(如果有这个key,此时这个键所对应的值被修改)
dict["aa"]=999
print(dict)
输出:
{'a': 11, 'b': 22, 'c': 33, 'aa': 999}
1.2updata:添加多个元素(将一个字典更新到原来的字典中)
dict.update({"aa":1111,"bbb":22222})
print(dict)
输出:{'a': 11, 'b': 22, 'c': 33, 'aa': 1111, 'bbb': 22222}
2.修改元素
通过键去修改对应的值【同增加方法中的1.添加元素】
3.删除
3.1pop方法:通过键去删除对应的键值对
pop方法存在返回值,返回为对应的value,此处会返回11
dict = {"a": 11, "b": 22, "c": 33}
dict.pop("a") #pop方法存在返回值,返回为对应的value,此处会返回11
print(dict)
输出:
{'b': 22, 'c': 33}
3.2 popitem:删除的是字典中最后的一个键值对
dict = {"a": 11, "b": 22, "c": 33}
dict.popitem()
print(dict)
输出:
{'a': 11, 'b': 22}
4.查找元素
4.1通过键去找对应的值。如果不存在会报错keyError
dict = {"a": 11, "b": 22, "c": 33}
res=dict["a"]
print(res)
输出:
11
4.2 get方法:如果不存在则返回None
dict = {"a": 11, "b": 22, "c": 33}
res2=dict.get("aa")
print(res2)
输出:None
三、字典的其他几个方法
keys:获取字典中所有的键,通过list转化为列表
values:获取字典中所有的值,通过list转化为列表
items:获取字典中的键值对
1.keys
dict = {"a": 11, "b": 22, "c": 33}
res2=dict.keys()
print(res2)
输出:
dict_keys(['a', 'b', 'c'])
转化为列表list
res2=list(dict.keys())
print(res2)
输出:
['a', 'b', 'c']
2.values
dict = {"a": 11, "b": 22, "c": 33}
res2=dict.values()
print(res2)
输出:
dict_values([11, 22, 33])
3.items
dict = {"a": 11, "b": 22, "c": 33}
res2=dict.items()
print(res2)
res5=list(dict.items())
print(res5)
输出:
dict_items([('a', 11), ('b', 22), ('c', 33)])
[('a', 11), ('b', 22), ('c', 33)]
四、python中的关键字:del
可以用来删除任何数据(字典。列表)
# 关键字
a=[100,90,80]
del a[0]
print(a)
输出:[90, 80]
五、多种类型时,层层取值
li2 = {"a": ["11", "22", ("python", "java", {"name": "liuhao"})]}
res1=li2["a"]
res2=res1[2]
res3=res2[2]
res4=res3["name"]
print(res4)
输出:liuhao
六、可变类型与不可变类型
可变类型数据:列表、字典、集合
不可变类型数据:数值,字符串,元组
七、总结
回忆一波走起
增:通过key,updata
删:pop,popitem删除最后一个键值对
改:key
查:key,get
其他方法:keys,items,values,del
可变不可变,层次取值
YOU GET IT !!!