博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 字典操作详解
阅读量:6894 次
发布时间:2019-06-27

本文共 3932 字,大约阅读时间需要 13 分钟。

字典操作

字典一种key – value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:

info ={    'stu1001':"TengLan Wu",    'Stu1002':"Longze Loula",    'stu1103':"XiaoZe Maliya",}

增删改查

####字典的定义 key: valueinfo ={    'stu1001':"TengLan Wu",    'Stu1002':"Longze Loula",    'stu1103':"XiaoZe Maliya",}#####查询 字典的数据####################查询所有,但是字典是无序的print(info)#如果查询一个只需要查询对方的keyprint(info["stu1001"])#不报错方式查询(安全点)print(info.get("stu1001"))####### 修改######info["stu1001"]="武藤兰"print(info)#########添加#########info["stu1004"]="CangjingKong"print(info)########删除######## 两种方法#第一种#del info["stu1001"]print(info)#第二种info.pop("stu1103")print(info)#还有一个随机删除info.popitem()#判断字典里面存不存在这个keyprint('stu1005' in info ) # 有的话返回TRUE#查询所有的valuesprint(info.values())#查询所有的keyprint(info.keys())

字典的多级嵌套

av_catalog={    "欧美":{        "www.youporn.com":["很多免费的,世界最大的","质量一般"],        "www.pornhub.com":["很多免费,也很大","比youporn高点"],        "letmedothistoyou.com":["多是自拍,高质量图片很多","资源丰富"]    },    "日韩":{        "tokyo-hot":["质量不清楚,个人已经不喜欢日韩","听说是收费的"],    },    "大陆":{        "1024":["全部免费。真好好人一生平安","服务器在国外,慢"]    }}#修改多级嵌套av_catalog["大陆"]["1024"][1]="可以在国内做镜像"print(av_catalog)

各种其他的骚操作

#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: liang info ={    'stu1001':"TengLan Wu",    'Stu1002':"Longze Loula",    'stu1103':"XiaoZe Maliya",}b={    'stu1001':"liang",    1:2,    2:5}#update 合并字典info.update(b)print(info)#输出的结果如下#{'stu1001': 'liang', 'Stu1002': 'Longze Loula', 'stu1103': 'XiaoZe Maliya', 1: 2, 2: 5}#items #字典转为列表print(info.items())#初始化一个新的字典#c=info.fromkeys([6,7,8])c=dict.fromkeys([7,8,9],"test")print(c)#fromkeys 坑的地方#如果里面嵌套了一个字典,修改一个的时候就会修改所有的#就像浅层copy一样的d=dict.fromkeys([7,8,9],[1,{"name":"liang"},444])d[7][1]['name']="cc"print(d)

字典循环

#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: liang info ={    'stu1001':"TengLan Wu",    'Stu1002':"Longze Loula",    'stu1103':"XiaoZe Maliya",}#最基本的循环for i in info:    print(i,info[i])#这种循环花的时间比第一种长,建议使用第一种循环for k,v in info.items():    print(k,v)

三级菜单的一个实现 超级low的一个代码

#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: liang date={    '北京':{        "昌平":{        "沙河":["oldboy","test"],        "天通往":["我爱我家","liang"]    },    "朝阳":{        "望经":["本词","默默"],        "国贸":["CICC","HP"],        "东之梦":["Advent","飞信"]    }    },    "江西":{        "南昌":{            "南昌县":["现代学院","江西师范大学"],            "新建县":["江西南昌大学","江西农业大学"]        },        "抚州":{            "东乡县":["小黄","浴缸"],            "临川区":["临川二中","临川一中"]        }    },    "湖南":{        "长沙":{            "aaaa":["vvv","aaaa"],            "cccc":["cada","cada"]        }    }}while True:    for i in date:        print(i)    choie=input("你要选择那个城市?1>>>>>")    if choie in date:        while True:            for i2 in date[choie]:                print(i2)            choie2=input("你要选择那个城市?2>>>>>")            if choie2 in date[choie]:                while True:                    for i3 in date[choie][choie2]:                        print(i3)                    choie3 = input("你要选择那个城市?3>>>>>")                    if choie3 in date[choie][choie2]:                        for i4 in date[choie][choie2][choie3]:                            print(i4)                        choie4=input("已经是最后一层!按b退出>>>>>")                        if choie4 == 'b':                            pass                        elif choie4 =='q':                            exit("bye!!!!")                        else:                            print("你输入的有误")                    if choie3== 'b':                        break                    elif choie3 =='q':                        exit("bye !!!")                    else:                        print("你输入的有误")            if choie2=='b':                break            elif choie2=='q':                exit("bye!!!!")            else:                print("你输入的有误")    if choie=='b':        print("如果退出请按q")    elif choie =='q':        exit("bye !!!")    else:        print("你输入的有误")

转载于:https://blog.51cto.com/9861015/2118872

你可能感兴趣的文章
Notepad++ 书签
查看>>
TiDB 集群测试
查看>>
十天学会php之第五天
查看>>
Java基础10
查看>>
jquery基础学习二
查看>>
为什么说写“安装指南”类博客的程序员是懒惰的
查看>>
Android模拟器——Genymotion(很快)
查看>>
学习规划
查看>>
SpringMVC项目使用Thymeleaf模板引擎
查看>>
定义和使用SQL变量
查看>>
12.21 php-fpm的pool12.22 php-fpm慢执行日志12.23 open_basedir12.24 php-fpm进程管理
查看>>
Supervisor进程管理软件的安装与配置
查看>>
细谈 vue - transition 篇
查看>>
Ubuntn中获取仓库中的工具源码与构建
查看>>
Html Dom getElementsByClassName
查看>>
Android 中文 API ---- tabhost使用方法一(tabwidget+framlayout)
查看>>
Kubernetes生产环境经验告诉你如何实现蓝绿部署和负载均衡
查看>>
go 缓存机制
查看>>
P2P路由模式的概念和优势
查看>>
wangframe如何扩展?
查看>>