ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python基础—day6 字典及三级菜单的实现

2021-05-24 14:32:45  阅读:165  来源: 互联网

标签:菜单 Name Runoob python Age day6 score values print


字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示
dict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}
 

 

创建

 

 

字典元素的操作

获取字典中的元素

score ={'Name':'Runoob','Age': 7, 'Class':'First'}
#第一中方式,使用[]
print(score['Age'])
7

#第二章方式,使用get()方法
print(score.get('Age'))
7

 

字典的常用操作

score ={'Name':'Runoob','Age': 7, 'Class':'First'}
print('Name' in score)
print('Name' not in score)
#True
#False

del score['Name']
print(score)
{'Age': 7, 'Class': 'First'}

#清空列表
score.clear()
print('清空的列表',score)
清空的列表 {}
#新增元素
score['Year']=4
print(score)
{'Year': 4}

 

获取字典视图

score ={'Name':'Runoob','Age': 7, 'Class':'First'}
#获取字典的健
KEYS = score.keys()
print(KEYS)
#dict_keys(['Name', 'Age', 'Class'])
print(type(KEYS))
#<class 'dict_keys'>
print(list(KEYS))
#['Name', 'Age', 'Class']

#获取所有的values
values=score.values()
print(values)
#dict_values(['Runoob', 7, 'First'])
print(type(values))
#<class 'dict_values'>
print(list(values))
#['Runoob', 7, 'First']

#获取所有的keys-values
items = score.items()
print(items)
#dict_items([('Name', 'Runoob'), ('Age', 7), ('Class', 'First')])
print(type(items))
<class 'dict_items'>
print(list(items))
#[('Name', 'Runoob'), ('Age', 7), ('Class', 'First')] #转化之后是由元祖组成的

 

字典的元素遍历

score ={'Name':'Runoob','Age': 7, 'Class':'First'}

#字典的遍历
for item in score:
    print(item,score[item],score.get(item))
Name Runoob Runoob
Age 7 7
Class First First

 

 

字典的特点

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}

print ("dict['Name']: ", dict['Name'])

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:

实例

dict= {['Name']: 'Runoob', 'Age': 7}

print ("dict['Name']: ", dict['Name'])

 

字典生成式

#内置函数zip()
keys =['Name','Age', 'Class']
values = ['Runoob',7,'First']
dicts = {keys:values for keys,values in zip(keys,values) }
print(dicts)
#{'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

#upper 将小写转为大写
dicts1 = {keys.upper():values for keys,values in zip(keys,values) }
print(dicts1)
#{'NAME': 'Runoob', 'AGE': 7, 'CLASS': 'First'}



三级菜单的实现
1.省市县
2.可以查询
3.可以返回上一层,退出
area = {
#省
'广东省':{
#市
'广州':{
#区
'番禺区':'...',
'海珠区':'...',
'花都区':'...',
'天河区':'...'
},
'深圳':{},
'东莞':{}
},
'广西省':{},
'福建省':{}
}

current_layer = area
parent_layers = []
flag = True
while flag:
#打印地区
for key in current_layer:
print(key)
#查询地区
choice = input('请选择要查询的地区>>>:').strip()

if len(choice) == 0:continue
if choice in current_layer:
parent_layers.append(current_layer)
current_layer = current_layer[choice]
elif choice == 'b':
if parent_layers:
current_layer = parent_layers.pop()

elif choice == 'q':
flag =False
else:
print('你要查询的没有')


标签:菜单,Name,Runoob,python,Age,day6,score,values,print
来源: https://www.cnblogs.com/skyxingxing/p/14803982.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有