dict的基本操作

# Author:nadech

info = {
"stu001":"sjp",
"stu002":"cxx",
"stu003":"lsw"
} print(info)
#########查#######
#确定有这个值才用这种方法
print(info["stu001"])
#安全的获取方法
print(info.get("stu005"))
#判断是否存在
print("stu002" in info)#在python2中与info.has_key("stu002")一样 #########增#######
info["stu004"] ="dyq"
print(info)
#########改#######
info["stu001"] ="sjpppp"
print(info)
##########删######
#info.popitem()这个是随机删除
info.pop("stu001")
print(info)
del info["stu002"]
print(info) av_dicionary = {
"europe":{"":["a","b","c"],
2:["d","e","f"]
},
"america":{3:["g","h","i"],
4:["j","k","l"]
},
"tokyo":{6:["m","n","o"],
7:["p","q","r"]
}
}
#查
print(av_dicionary["tokyo"][6][0])
print((av_dicionary.get("tokyo")).get(6)) #改
av_dicionary["tokyo"][6][0] = "mmmmmmm"
print(av_dicionary)
#
av_dicionary.setdefault("tokyo","www.baidu.com")
print(av_dicionary)
av_dicionary.setdefault("taiwan",{"wwww.baidu.com":["hahahah","henhaoyong"]})
print(av_dicionary) info1 = {"s01":"nadech","s02":"aguilera","s03":"lsw"}
print(info1)
info2 = {1:2,"s03":"lswwww",3:4}
print(info2)
info1.update(info2)###跟新字典,存在的key值就将value更新,不存在的就加进去
print(info1) #将字典转化为列表
print(info1.items()) #初始化字典使用fromkeys,当有多层列表时,它只是这个数据的引用,当修改一个字典的数据时,其他的也都会修改
c = dict.fromkeys([6,7,8],["a",{1:"nadech"},2])
print(c)
c[6][1][1] = "aguilera"
print(c) ####字典的循环 ###推荐使用这个,因为更高效
for i in info1:
print(i,info1[i]) for i,v in info1.items():
print(i,v)

三级菜单

# Author:nadech

data = {
"江苏":{
"南京":{
"栖霞":["南邮仙林校区","南师范仙林校区","南财仙林校区"],
"鼓楼":["紫峰大厦","新街口","湖南路"]
},
"苏州":{},
"无锡":{}
},
"河南":{},
"云南":{}
}
print(data["江苏"]["南京"]["栖霞"]) exit_flag = False
while not exit_flag:
for i in data:
print(i)
#判断输入是否在所存在的省份中
choice1 = input(">>>请选择省份:") if choice1 in data: for j in data[choice1]:
print(j)
#判断输入是否在所存在的城市中
choice2 = input(">>>请选择城市:")
if choice2 in data[choice1]:
for k in data[choice1][choice2]:
print(k)
#判断输入的行政区是否存在
choice3 = input(">>>请选择行政区:")
if choice3 in data[choice1][choice2]:
print(data[choice1][choice2][choice3])
else:
print("您的输入有误!")
else:
print("您的输入有误!") else:
print("您的输入有误!")

dict的操作和三级菜单的更多相关文章

  1. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  2. Python学习笔记五:字符串常用操作,字典,三级菜单实例

    字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...

  3. python三级菜单的实现

    一.作业要求 1.使用字典实现三级菜单功能 2.直接输入前面数字进入下一级菜单 3.按B返回上一级,按Q退出 二.需要知识点 1.if循环 2.for循环,enumerate的用法 3.while循环 ...

  4. Py修行路 python基础 (五)三元运算 字符编码 元组 集合 三级菜单优化!

    三元运算 条件判断不能加冒号: a=3 b=5 c=a if a<b else b oct() 转成八进制的简写:16进制 标志:BH为后缀或是0x为前缀hex() 转成16进制 元组 跟列表是 ...

  5. day1作业--三级菜单

    作业概述: 写一个三级菜单 实现如下功能: (1)可依次选择进入各子菜单 (2)在每一级按“b”都可以返回上一级,按“q"都可以退出 流程图: readme: 简介: three_menu. ...

  6. Python学习之编写三级菜单(Day1,作业二)

    作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...

  7. Android自己定义控件:老版优酷的三级菜单(效果图 + Demo)

    效果图: 制作思路: 1.先分析这个效果,事实上能够理解为把三级菜单分成level1,level2,level3,level1是始终显示的. 点击level1后,level2会出现:点击level2后 ...

  8. 老男孩python学习之作业二---三级菜单

    因为之前花力气完成了购物小程序的作业 现在做这个三级菜单简直是so easy!! 1.显示省级菜单 2.交互,提示用户输入要查看的省份(退出e) 2.1.用户正确输入列表中的省份 3.显示市级菜单 3 ...

  9. Python 三级菜单 增强版

    需要实现的功能是:三级菜单1.从文本内读出选项2.查询每一级的选项,并能对选项进行增/删/改功能3.每一级可以退出程序或者返回上一层 2018-5-14 更新内容 思路 实现过程中的BUG及解决方案: ...

随机推荐

  1. 2017年Unity游戏开发视频教程(入门到精通)

    本文是我发布的一个Unity游戏开发的学习目录,以后我会持续发布一系列的游戏开发教程,都会更新在这个页面上,适合人群有下面的几种: 想要做独立游戏的人 想要找游戏开发相关工作的人 对游戏开发感兴趣的人 ...

  2. intelj idea中JRebel激活

    1.下载激活软件 https://github.com/ilanyu/ReverseProxy/releases/tag/v1.0 我这边下载的是: 2.双击运行 3.idea中, 不出意外,应该就激 ...

  3. git 添加管理成员

    git 添加管理成员   登录git后的样子: 具体操作流程看截图和说明 : * 图中1:打开设置面板: * 图中2:打开成员面板: * 图中3:添加成员功能标签: * 图中4:添加的成员,这里会弹出 ...

  4. spark2.1操作json(save/read)

    建筑物配置信息: case class BuildingConfig(buildingid: String, building_height: Long, gridcount: Long, gis_d ...

  5. 实现Winform端窗体关闭后刷新html网页内容

    一.首先要知道刷新网页的路径: frmPointEasyToBeat fpetBeat = new frmPointEasyToBeat(bookNoteId, userInfo.UserId); f ...

  6. eclipse 复制原项目工作空间

    eclipse 复制原项目工作空间 具体步骤: 1.首先把你需要升级的eclipse 下载并解压 2.解压好后,右击  3.进入后你能看到这样一个页面 4.我的安装路径D:\work\Eclipse\ ...

  7. 如何解释vue的生命周期才能令面试官满意?

    当面试官问:"谈谈你对vue的生命周期的理解",听到这句话你是不是心里暗自窃喜:这也太容易了吧,不就是beforeCreate.created.beforeMount.mounte ...

  8. 在服务器上,配置redis可以外网访问

    首先linux开放默认端口6379打开redis配置文件redis-conf注释掉 bind 127.0.0.1(默认只有本地主要才能访问)这个注释掉现在处于受保护的状态,外网连不上,因为没有密码 在 ...

  9. 发布你的程序包到Nuget

    1.新建一个.NET Standard 的类库项目 2.选择项目熟悉,在 package 栏目下填写我们的nuget包信息 3.选择我们的项目,点击"Pack" 打包 主要注意的是 ...

  10. java面试3-对于java中值传递的理解(Hollis)

    这是根据Hollis的直面java内容习得(有兴趣的可以加他微信公众号) 对于初学者来说,要理解java中的值传递很难理解,为什么说java只有值传递?那引用传递呢? java中的错误理解: 错误理解 ...