字典:{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"])

posted on 2017-08-02 16:56  寒舟独饮  阅读(131)  评论(0)    收藏  举报