字典的使用

  1. 字典的定义:dict()
  2. 修改字典的数值:info["stu"]
  3. 修改的另外一个方法update:
  4. del info,删除整个字典
  5. del info["stu1101"],删除某个key
  6. 如果你想随机删除一个key,那么可以用popitem(),随机删除一个
  7. 查找的几个方法:
  8. info["stu"]查找的时候这个key必须存在,如果不存在就会报错
  9. 所以除非你确认key存在,否则用如下的方法:
  10. 用get的方法,温和的多。如果找不到key,会返回None:
  11. 用in判断key值是否存在这个字典里,如果存在就取值,如果不在就创建一个key
  12. 不存在,返回false:
  13. 打印字典所有的值,注意这里的值不包括key:dic.values()
  14. 打印字典所有的key:dic.keys()
  15. setdefault("taiwan",{"www.baidu.com":[1,2]}),setdefault相当于到字典找这个key,如果可以找到那么返回这个值,如果找不到这个key,那么创建一个这个key以及值。
  16. info.items()作用是把字典转换为列表,其中列表的值为元祖,第一个为key,第二个为值
  17. info.fromkeys([6,7,8])创建一个新的字典,每个key是列表里的值。 初始化字典
  18. 字典的循环:只打印key:for i in dic:print(i)
  19. 打印key+值,for i in dic:print(i,dic[i])

字典的定义:dict()

字典是无序的,因为他没有下标,所以他的数值是随机的。见下图:打印出来1102.1103.1101

所以取值的时候,是用key来取值的:

修改字典的数值:

如果你赋值的时候,这个key不存在,那么就相当于给字典增加了一条:

修改的另外一个方法update:

首先定义两个字典:

然后将字典b当参数传给字典info,结果如下:

就是相当于把两个字典合并,如果key一样,那么就替换值,如果key不一样,那么就在字典新增加这个key以及值。

删除的方法

del info,删除整个字典

del info["stu1101"],删除某个key

还有一个删除的方法info.pop("stu1101"),删除指定的key

如果你想随机删除一个key,那么可以用popitem(),随机删除一个

查找的几个方法:

查找的时候这个key必须存在,如果不存在就会报错

所以除非你确认key存在,否则用如下的方法:

用get的方法,温和的多。如果找不到key,会返回None:

如果存在key

判断key值是否存在这个字典里,如果存在就取值,如果不在就创建一个key

不存在,返回false:

存在返回True

如果在python2里,写法是这样的:请注意:

多级字典嵌套及操作:

av_catalog = {
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
},
"大陆":{
"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}

av_catalog["大陆"]["1024"][1] = "可以在国内做镜像"

av_catalog.setdefault("大陆",{"www.baidu.com":[1,2]})
print(av_catalog)

打印字典所有的值,注意这里的值不包括key:

打印字典所有的key:

setdefault("taiwan",{"www.baidu.com":[1,2]})

setdefault相当于到字典找这个key,如果可以找到那么返回这个值,如果找不到这个key,那么创建一个这个key以及值。

 info.items()作用是把字典转换为列表,其中列表的值为元祖,第一个为key,第二个为值

info.fromkeys([6,7,8])创建一个新的字典,每个key是列表里的值。 初始化字典

这边有一个坑,请注意:修改其中一个值,那么所有的值都修改了。

字典的循环:

只打印key:

打印key+值

 还有一种方法,打印key+值:因为items()返回的是key+值的元祖+列表,见前面:

效率上来说,第一个方法比第二个方法更快更好。第二个还多了一个字典转列表的过程:


原文地址:https://www.cnblogs.com/itfat/p/7367394.html