字典:使用映射关系来存储数据的 数据类型
dict = {''name“:"gm","age":"34"} 采用键值对来存储数据 key_value,无序状态,无位置关系,key必须唯一,且为不可变类型数据元素
value可以为任何数据类型
不可变类型:整形,字符串,元组
可变类型:列表,字典
操作
创建
dic = {}
dic =dict(('name','gm'))
增加
dic1 = {"name":"gm","age":34,"hobby":"game","high":"174cm"}
print(dic1)
dic1['weigh']=82 #对列表里没有的键赋值,则在原字典里增一个新的键值对
print(dic1)
dict.setdefaut() #增加一个新的键值对,且返回对应键的值,如果要加的键存在,则返回已有的键值对里的值
dic1.setdefault("name","dql")
print(dic1)
ret = dic1.setdefault("name","dql")
print(ret)
dic1.setdefault("hf","yh")
print(dic1)
ret1 = dic1.setdefault("hf","yh")
print(ret1)
查询键,值,键值对
print(dic1.keys())
print(dic1.values())
print(dic1.items())
print(list(dic1.keys()))
print(list(dic1.values()))
print(list(dic1.items()))
修改
dic1["name"]='dql'
dict.update #把新字典添加到另外一个字典里,如果键重复,则覆盖。
dic2 = {"sex":"girl","name":"dql"}
dic3 = {"jg":"cs","phone":177}
dic1.update(dic2)
print(dic1)
dic1.update(dic3)
print(dic1)
删除
dic2.clear() #清空
print(dic2)
del dic3["jg"] #删除某一对键值
print(dic3)
ret3 = dic1.pop("age") #删除掉age键值对,并返回age对应的值,可以用变量来接受
ret4 = dic1.popitem() #随机删除一组键值对
其他操作
dic4 = dict.fromkeys(["host1","host2","host3"],"test1")
print(dic4)
{'host1': 'test1', 'host2': 'test1', 'host3': 'test1'}
嵌套:
字典的值所在位置可以使用任何数据,如字符串,列表,字典。
排序
sorted(dic4) 默认根据key(键)值来进行排序
sorted(dict.values()) 可以改成进行value(值)来进行排序
字典的遍历:
for i in dic1:
print(i,dic1[i])#推荐使用这种方式遍历,效率高,items有一个转换过程
for i,v in dic1.items():
print(i,v)