初识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(‘\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)

字典常用操作

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

时间: 2024-10-12 21:46:25

初识python: 字典的相关文章

python 字典有序无序及查找效率,hash表

刚学python的时候认为字典是无序,通过多次插入,如di = {}, 多次di['testkey']='testvalue' 这样测试来证明无序的.后来接触到了字典查找效率这个东西,查了一下,原来字典在python内部是通过哈希表的顺序来排的,做了一些测试,比如di = {1:1,3:3,2:2,4:4,5:5} ,无论怎么改变键值对的顺序,print di 总是会{1: 1, 2: 2, 3: 3, 4: 4, 5: 5}.所以看起来当插入di['key']='value'时,这组键值对有时

Python 字典(Dictionary) get()方法

描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 key -- 字典中要查找的键. default -- 如果指定键的值不存在时,返回该默认值值. 返回值 返回指定键的值,如果值不在字典中返回默认值None. 实例 以下实例展示了 get()函数的使用方法: #!/usr/bin/python dict = {'Name': 'Zara', 'A

Python字典高级使用方法汇总

Python字典高级使用方法汇总 字典(dictionary)是python中的一种非常灵活和强大的数据结构,可以完成很多操作.本文总结了一些除了基本的初始化.赋值.取值之外的常用的字典使用方法. 字典基础参考: [1]:http://www.w3cschool.cc/python/python-dictionary.html [2]:http://www.111cn.net/phper/python/56355.htm [3]:http://skyfen.iteye.com/blog/5675

python字典介绍

Python  字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 键必须是唯一的,但值则不必. 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组. 一个简单的字典实例: dict = {'Alice': '2341', 'Beth': '9102'

Python 字典(Dictionary) setdefault()方法

描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: dict.setdefault(key, default=None) 参数 key -- 查找的键值. default -- 键不存在时,设置的默认键值;存在则不设置. 返回值 该方法没有任何返回值. 实例 以下实例展示了 setdefault()函数的使用方法: #!/usr/bin/pytho

初识python之 APP store排行榜 蜘蛛抓取(一)

直接上干货!! 采用python 2.7.5-windows 打开 http://www.apple.com/cn/itunes/charts/free-apps/  如上图可以见采用的是utf-8 编码 经过一番思想斗争  编码如下 (拍砖别打脸) #coding=utf-8 import urllib2 import urllib import re import thread import time #----------- APP store 排行榜 ----------- class

Python字典增删操作技巧简述

Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技巧. Python字典(Dictionary)是一种映射结构的数据类型,由无序的“键-值对”组成.字典的键必须是不可改变的类型,如:字符串,数字,tuple:值可以为任何Python数据类型. 1.新建Python字典 >>> dict = {} #新建一个空字典 >>>

Python字典方法copy()和deepcopy()的区别

1 from copy import deepcopy # import deepcopy模块 2 d = {} 3 d['name'] = ['black', 'guts'] # d = {'name': ['black', 'guts']} 4 c = d.copy() # c = {'name': ['black', 'guts']} 5 dc = deepcopy(d) # dc = {'name': ['black', 'guts']} 6 d['name'].append('whit

<转>python字典排序 关于sort()、reversed()、sorted()

一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a','have','I'])) #['I', 'have', 'a', 'dream'] 2.让人糊涂的sort()与sorted() 在Python 中sorted是内建函数(BIF),而sort()是列表类型的内建函数list.sort(). sorted() sorted(iterable[,

第00次作业:初识python语言 and 我对python的期待

初识python 首次被python吸引是在第一次理论课上,老师用几行代码实现"延时打开网页"的时候,感觉很厉害的样子,之后,便想去了解它,掌握它,应用它. 第一次运行python语言程序,真的是有点手忙脚乱,运行不成功,然后出现了一串串看不懂的错误提示,不知道从何开始着手去解决,后来问了同学,原来是缺少了一对括号.慢慢地开始学着自己去理解老师给的代码,改写里面的数字,查看数字改变后的结果,每一次小小收获都会使内心迸发一种小欣喜,促使着我更加深入的去学习这门语言. 我对python的期