初识python: 字典

Posted Simple-Sir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识python: 字典相关的知识,希望对你有一定的参考价值。

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

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

技术分享图片多级菜单
#!/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(	,i2)
            choice2 = input(选择进入市(B返回上级,Q退出):)
            if choice2 in sheng[choice]:
                while t:
                    for i3 in sheng[choice][choice2]:
                        print(		,i3)
                    choice3 = input(选择进入县(B返回上级,Q退出):)
                    if choice3 in sheng[choice][choice2]:
                        while t:
                            for i4 in sheng[choice][choice2][choice3]:
                                print(			, 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: 字典的主要内容,如果未能解决你的问题,请参考以下文章

Python代码阅读(第19篇):合并多个字典

Python snippet(代码片段)

Python代码阅读(第26篇):将列表映射成字典

Python之路 day2 初识字典

Python代码阅读(第40篇):通过两个列表生成字典

Python字典的初识增删改查及嵌套