Python 学习笔记【12】字典

  语法: 字典一种key - value 的数据类型

1 info = {
2     'stu1101': "TengLan Wu",
3     'stu1102': "LongZe Luola",
4     'stu1103': "XiaoZe Maliya"
5 }

  字典的特性:

  dict是无序的

  key必须是唯一的

  查找

1 print(info["stu1102"])
2 print(info.get("stu1102"))  # 如果一个key不存在,就报错,get不会,不存在只返回None
3 print("stu1102" in info)  # 标注用法

  修改和创建

1 info["stu1101"] = "武藤兰"
2 info["stu1104"] = "苍井空"

  删除

1 info.pop("stu1101")
2 del info['stu1103']
3 info.popitem()  # 随机删除

   多级字典的嵌套 (最好不用中文)

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

  修改

1 av_catalog["大陆"]["1024"][0] = "可以在国内做镜像"
2 av_catalog["大陆"]["1024"][1] += "可以后爬虫爬下来"

  其他查找及创建的用法

1 print(info.values())  # 打印所有的值,不包括Key
2 print(av_catalog.values())
3 
4 print(info.keys())  # 打印所有Key
5 print(av_catalog.keys())
6 
7 info.setdefault("stu1102", "龙泽萝拉")  # 如果在原字典中能取到则返回,若取不到则创建新的
8 av_catalog.setdefault("台湾", {"www.baidu.com":[1, 2, 3]})

   两个字典合并,交集替换,并集添加

 1 info = {
 2     'stu1101': 'LongZe Luola',
 3     'stu1102': 'XiaoZe Maliya',
 4     'stu1103': 'LongZe Luola'
 5 }
 6 print(info)
 7 
 8 b = {'stu1104': 'Chang Jingkong', 'stu1105': 'Blabla', "stu1101": "alex"}
 9 info.update(b)  # 有责换掉,没有则创建
10 
11 print(info)

  字典转换为列表,每个单元数据是一个元组

1 print(info.items())

  初始化一个字典 (注意:三个key指向一个内存地址。最好少用)

1 dict.fromkeys([1,2,3],'testd')

  字典(Dict)的循环

1 for i in info:  # 方法一,更高效
2     print(i, info[i])
3 
4 for k, v in info.items():  # 方法二,会把字典转换为列表,低效
5     print(k, v)

 

posted @ 2016-10-29 10:41  A1_Code  阅读(223)  评论(0编辑  收藏  举报