字典:{key:value}
key: "不可以变的类型:整形,字符串,元祖"
value: "可变类型:列表,字典"
字典的两大特点:无序,键唯一。
字典的创建
dic1 = {"name":"chien","age":"20","address":"jiangsu"}
打印以后的结果:{'name': 'chien', 'age': '20', 'address': 'jiangsu'}
dic2 = dict((("name","chien"),("age","22")))
打印后的结果:{'name': 'chien', 'age': '22'}
改:
将字典的键取出来进行更改:
dic1 = {"name":"chien","age":"20","address":"jiangsu"}
dic1["name"] ="zxczxcz"
print(dic1)
{'name': 'zxczxcz', 'age': '20', 'address': 'jiangsu'}
将name的键值进行更改为zxczxcz
print(dic1.update(dic2))#把dic2里所有的键值全部放进dic1中,相同的键值就将值进行覆盖,不相同的话就进行添加
#setdefault就是如果有键的话就不改了,返回字典里的值
#setdefault键不存在的话,就增加新的键值队,并返回新增的键值
dic1 = {"name":"chien","age":"20","address":"jiangsu"}
dic1.setdefault("age","34")
删:
#删除name的条目:
del dic1['name']
#清空字典里所有的条目,但是字典存在
dic1.clear()
#del删除整个字典,直接不存在,但是如果还要打印的话,会发生异常
del dic1
#pop进行删除
dic1 = {"name":"chien","age":"20","address":"jiangsu"}
print(dic1.pop("name")) #pop返回值chien,并且从dic1中删除name组键
#popitem
dic1 = {"name":"chien","age":"20","address":"jiangsu"}
a = dic1.popitem() #随机取一个值,赋值给a,并且从dic1随机删除一个。
print(a,dic5)
#查 通过键去查找
print(dic1.keys())
#打印字典里所有的键(是一种新的数据类型dict.key数据类型#)
print(dic1.values())
#打印字典里所有的键值#字典的取值keys values 都可以提取出来,生成字典的形式
list(dic1.keys())#items()去除所有的键值对
dic6 = dict.fromkeys(["host1","host2","host3"],"test")
print(dic6)
#{'host1': 'test', 'host2': 'test', 'host3': 'test'}
dic6 = dict.fromkeys(["host1","host2","host3"],["test1","test2"])
print(dic6)
#{'host1': ['test1', 'test2'], 'host2': ['test1', 'test2'], 'host3': ['test1', 'test2']}
dic6["host2"][1] = "test3"
print(dic6)
#{'host1': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host3': ['test1', 'test3']}
dic5 = {"name":"Alex","age":18}
for i in dic5:
print(i)#默认的把键打印出来
for i in dic5:
print(i,dic5[i])#将键和键值同时打印出来-------------->推荐使用这种,速度快,效率高
for i in dic5.items():#显示的是元祖的值对
print(i)
for i,v in dic5.items():#去除元组的符号
print(i,v)
排序:
dic = {5:"555",2:"222",3:"333"}
print(sorted(dic)) #用Aciss码对键进行排序
print(sorted(dic.keys()))
print(sorted(dic.items()))
print(sorted(dic.values()))#只有改成values不是用的键排的序
下面一些使用的例子:
dic3={
"name":{
"boyname":"chien",
"girlname":"mabaojian"
}
}
print(dic3["name"]["boyname"])
print(id(dic3))
dic3["name"]["girlname"] = "Unknow"
print(id(dic3))
print(dic3["name"]["girlname"])