码迷,mamicode.com
首页 > 编程语言 > 详细

初识python: 字典

时间:2018-09-15 18:46:25      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:date   col   初识   输入   操作   嵌套   break   splay   方法   

使用数据字典,编写一个多级菜单:

需求:每一级可返回上级,可退出。

技术分享图片多级菜单
#!/user/bin env python
# author:Simple-Sir
# time:20180915
# 使用字典实现多级菜单
sheng = {
    四川省:{
        成都:{
            高新区:[第1条信息;,第2条信息;,第3条信息。],
            天府新区:[第1条信息;,第2条信息;,第3条信息。],
            武侯区:[第1条信息;,第2条信息;,第3条信息。],
        },
        德阳:{
            罗江:[第1条信息;,第2条信息;,第3条信息。],
            广汉:[第1条信息;,第2条信息;,第3条信息。],
            绵竹:[第1条信息;,第2条信息;,第3条信息。]
        },
        绵阳:{
            江油:[第1条信息;,第2条信息;,第3条信息。],
            三台:[第1条信息;,第2条信息;,第3条信息。],
            安县:[第1条信息;,第2条信息;,第3条信息。]
        }
    },
    云南省:{
        昆明: {
            西山:[第1条信息;,第2条信息;,第3条信息。],
            官渡:[第1条信息;,第2条信息;,第3条信息。],
            盘龙:[第1条信息;,第2条信息;,第3条信息。]
        },
        昭通: {
            昭阳:[第1条信息;,第2条信息;,第3条信息。],
            鲁甸:[第1条信息;,第2条信息;,第3条信息。],
            巧家:[第1条信息;,第2条信息;,第3条信息。]
        },
        大理: {
            祥云:[第1条信息;,第2条信息;,第3条信息。],
            弥渡:[第1条信息;,第2条信息;,第3条信息。],
            南涧:[第1条信息;,第2条信息;,第3条信息。]
        }
    }
}
t = True
while t:
    for i in sheng:
        print(i)
    choice = input(选择进入省(Q退出):)
    if choice in sheng:
        while t:
            for i2 in sheng[choice]:
                print(\t,i2)
            choice2 = input(选择进入市(B返回上级,Q退出):)
            if choice2 in sheng[choice]:
                while t:
                    for i3 in sheng[choice][choice2]:
                        print(\t\t,i3)
                    choice3 = input(选择进入县(B返回上级,Q退出):)
                    if choice3 in sheng[choice][choice2]:
                        while t:
                            for i4 in sheng[choice][choice2][choice3]:
                                print(\t\t\t, i4)
                            choice4 = input(选择B返回上级,Q退出:)
                            if choice4.upper() == B:
                                break
                            elif choice4.upper() == Q:
                                exit()
                    elif choice3.upper() == B:
                        break
                    elif choice3.upper() == Q:
                        exit()
                    else:
                        print(您输入的区县不存在,请重新输入!)
            elif choice2.upper() == B:
                break
            elif choice2.upper() == Q:
                exit()
            else:
                print(您输入的地市不存在,请重新输入!)
    elif choice.upper() == Q:
        exit()
    else:
        print(您输入的省份不存在,请重新输入!)

 

数据字典常用操作:

技术分享图片
#!/user/bin env python
# author:Simple-Sir
# time:20180915
# 字典基础

dict_1 = {
    1: a,
    2: b,
    3: c
}
print(dict_1[1]) #获取key对应的值,只能获取已存在的值
print(dict_1.get(4)) #若存在,则获取值,若不存在,返回 None
print(1 in dict_1) # 判断指定值是否存在字典中
print(dict_1.values()) #获取所有值
print(dict_1.keys()) #获取所有键

dict_1[4]=d #若存在则修改,若不存在则添加

dict_1.setdefault(1,aa) #若键已存在,则不创建 ;若不存在,则新建。
dict_1.setdefault(11,aa) #若键已存在,则不创建 ;若不存在,则新建。

del dict_1[1] #删除指定key对应的值
dict_1.pop(4) #删除指定key对应的值
dict_1.popitem() #随机删除一个值

dict_2={
    1:aa,
    22:bb,
    33:cc
}
dict_1.update(dict_2) #剔重合并2个字典
print(dict_1)
print(dict_1.items()) #将字典变成列表

a = dict.fromkeys([5,6,7],[v1,v2,v3]) #新建一个新的字典,并初始化一个值
a[5][0]=va1 #会统一修改,类似浅copy
print(a)

# 字典循环
# 方法一
dict_3 = {
    1: a,
    2: b,
    3: c
}
for i in dict_3:  # i 对应字典的键
    print(i,dict_3[i])

# 方法二(不建议)
for k,v in dict_3.items(): #将字典转换成列表,再循环
    print(方法二:,k,v)

# 多级字典嵌套
sheng = {
    四川省:{
        成都:[高新区,天府新区,武侯区]
    }
}
sheng[四川省][成都][0]=成华区 #多级字典修改
print(sheng)
字典常用操作

 

初识python: 字典

标签:date   col   初识   输入   操作   嵌套   break   splay   方法   

原文地址:https://www.cnblogs.com/simple-li/p/9651719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!