字典key-value的删除、def(dict['key']) ;  dict.pop(“key”)

查询value:dict.get(“key”)

查询所有keys,values()

转换为列表.items()

fromkeys([key1,key2,key....],"default_value)初始化一个字典:注意初始化的value为一个内存地址。

注意多层级的初始化字典的坑

for循环取值

省市县多级字典查询while死循环查询if判断,for遍历取值

省市县级查询,每一级都可以exit退出查询程序,或者back返回上级重新选择再查询。

应用重点知识:

  elif可以多次进行判断使用,判断是输入back返回上一级,输入exit退出程序

  每一个层级,如果是选择了输入exit,就赋值一个变量。然后break退出本次while循环,然后这个变量在退出while循环后,这个变量会存在。给上一个while循环做判断:进入每个层级的时候都先判断这个exit_变量是否存在,存在就依次退出while并向上级传递exit_变量的存在。依次退出直至退出整个程序。

补充新知识:判断变量是否存在

  python中检测某个变量是否有定义

  第一种方法使用内置函数locals():
  'testvar'   in   locals().keys()

  第二种方法使用内置函数dir():

  'testvar'   in   dir()

while True:    if "exit_" in locals().keys():  #判断变量是否存在,存在就跳出循环:做退出程序用,        break    else:        pass    for i in china_data:        print(i)    input1 = input("查哪个省?quit/exit可退出")    if input1 in china_data:        while True:            if "exit_" in locals().keys():  #判断变量是否存在,存在就跳出循环:做退出程序用                break            else:                pass            for i in china_data[input1]:                print("\t",i)            input2 = input("\t\t查哪个市?back返回exit退出")            if input2 in china_data[input1]:                while True:                    if "test_" in locals().keys():   #判断变量是否存在,存在就跳出循环:做退出程序用                        break                    else:                        pass                    for i in china_data[input1][input2]:                        print("\t\t",i)                    input3 = input("\t\t\t查哪个县?back返回exit退出")                    if input3 in china_data[input1][input2]:                        for i in china_data[input1][input2][input3]:                            print("\t\t\t",i)                        input4 = input("\t\t\t\t继续吗?back返回,exit退出")                        if input4 == "back":                            break                        elif input4 == "exit":  #【最底层查询后,如果输入exit就赋值一个变量传给上层循环做判断】                            exit_ = 1                            print("退出程序")                            break                    elif input3 == "back":                        print("退出县级")                        break                    elif input3 == "exit":   #【选择县级时如果输入exit就赋值一个变量传给上层循环做判断】                        exit_ = 1                        print("退出程序")                        break                    else:                        print("您输入的县不存在,重新输入")            elif input2 == "back":                print("退出市级")                break            elif input2 == "exit":    #【选择市级时,如果输入exit就赋值一个变量传给上层循环做判断】                print("退出程序")                exit_ = 1                break            else:                print("您输入的市不存在,重新输入")    elif input1 == "quit":        print("退出查询")        break    elif input1 == "exit":   #【判断刚进入程序时(选择省级时),如果输入的市exit就退出程序】        exit_ = 1        print("退出程序")        break    else:        print("您输入的省不存在,重新输入")

转载于:https://www.cnblogs.com/zhangmingda/p/9003555.html

第二周Python笔记 数据类型 字典相关推荐

  1. JAVA 第二周学习笔记

    JAVA第二周学习笔记 一.变量 1.变量的本质 2.变量的三大要素 a.变量名: b.变量值: c.变量类型: 3.变量的定义和使用 4.课后小练习: 5.变量的定义和使用 二.运算符 1.赋值运算 ...

  2. Linux第二周学习笔记(7)

    Linux第二周学习笔记(7) 2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的 ...

  3. 机电传动控制第二周学习笔记

    机电传动控制第二周学习笔记 经过第二周的学习,我了解了电机的发展历史.从奥斯特发现电生磁的现象,到法拉第电磁回转实验,再到后来的电机一步步的发展至今.它充满了巧合,但是它又必然一步步向更完美走去.电机 ...

  4. Linux第二周学习笔记(11)

    Linux第二周学习笔记(11) 2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的ati ...

  5. Linux第二周学习笔记(5)

    Linux第二周学习笔记(5) 2.11.CP命令 cp(copy简写)命令:用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp –r:复制目录 -i:安全选项 cp命令:拷贝/etc/ ...

  6. Linux第二周学习笔记(1)

    Linux第二周学习笔记(1) 2.6,相对和绝对路径 (1).路径:就是某一个文件存放的地方,只要键入这个文件的路径系统就只能直接找到这文件所在位置,所以找一个文件需要输入这个文件的路径. (2). ...

  7. 大学生慕课第二周学习笔记

    Open Judge  第二周学习笔记 2.1 输入输出进阶 %f:读入输出float/输出double. %lf:读入double. %lld:读入输出long long. %s:读入输出字符串,不 ...

  8. Linux第二周学习笔记(12)

    Linux第二周学习笔记(12) 2.18 特殊权限set_uid set_uid:这个权限是针对二进制可执行文件,使文件在执行阶段具有文件所有者的的权限. --------------------- ...

  9. Linux第二周学习笔记(13)

    Linux第二周学习笔记(13) 2.19 特殊权限set_gid 特殊权限set_gid:这个权限可以作用在二进制可执行文件上,还可以作用在目录上.特殊权限set_gid权限位是作用在组权限位上,目 ...

最新文章

  1. 设置Open in Terminal快捷键Alt+Shift+Z,方便angular项目的各种命令输入(多任务状态下)
  2. Discuz!常用函数解析(续)
  3. Redis集群Twemproxy
  4. CentOS7 NTP客户端和服务器安装和使用
  5. java中获取当前服务器的Ip地址
  6. linux开终端失败,Linux:终端提示符 (prompt) 不如期生效原因
  7. zephyr 测试框架
  8. mysql语句优化方案(网上流传)
  9. Android intent 页面跳转
  10. C++拷贝构造函数的陷阱
  11. 构建和测试JSF.next
  12. c java 语法_java程序员要学的c语法
  13. offsetLeft
  14. 分布式架构入门心得小结(1)
  15. LINUX用户执行过的命令,保存在.bash_history
  16. JSON格式错误报JSON parse error:
  17. linux系统gaussian09,高斯(Gaussian)软件linux下安装
  18. WIN10系统 Indirect Display 虚拟显示器之特殊应用
  19. 中文技术文档写作规范(汇总整理版)
  20. android eclipse ddms 查看线程,android ddms中查看线程释疑

热门文章

  1. Ubuntu硬盘的挂载(临时、永久挂载)
  2. Android Studio实现功能丰富的仓库管理系统
  3. oracle改成归档模式_将Oracle数据库改为归档模式并启用Rman备份
  4. 灯效控制器和rgb控制器_还有什么不能RGB?TT发布Level 20 RGB BattleStation电竞桌
  5. linux的文件解压命令,linux解压命令(linux解压文件命令)
  6. java代码post接口请求 用 hutool工具类
  7. 覆盖索引与联合索引_MySQL:你知道什么是覆盖索引吗?
  8. lua能在stm32arm上运行吗_IOS App能在Mac运行!苹果这黑科技能撼动微软吗?
  9. 力邀安卓为鸿蒙效力,2019 十大语文差错
  10. python 外部参数过长_介绍python中slice参数过长的处理方法及实例