当需要存储很多同类型的不通过数据时可能需要使用到嵌套,先用一个例子说明嵌套的使用
1、在列表中存储字典
#假设年级里有一群国际化的学生,有黄皮肤的中国人、有白皮肤的美国人也有黑皮肤的非洲人,只记录部分特征 student_1={'nationality':'China','colour':'yellow','age':'15'} student_2={'nationality':'America','colour':'white','age':'18'} student_3={'nationality':'Africa','colour':'dark','age':'17'} grade = [student_1,student_2,student_3] for student in grade: print(student)
输出:
{‘nationality': ‘China', ‘age': ‘15', ‘colour': ‘yellow'}
{‘nationality': ‘America', ‘age': ‘18', ‘colour': ‘white'}
{‘nationality': ‘Africa', ‘age': ‘17', ‘colour': ‘dark'}
注意,上边的实例中就将字典作为列表的元素进行了嵌套,然后利用列表进行遍历
下边假设年级里有30个同样年龄的中国学生,利用嵌套进行生成
#定义一个存储中国学生的列表,假设年龄都一样 chinese=[] #创建30个中国学生 for student in range(0,30): student_1={'nationality':'China','colour':'yellow','age':'15'} chinese.append(student_1) #显示一共创建了多少个学生 print('一共创建了:'+str(len(chinese))+'个学生') #显示前5个中国学生 for stu in chinese[:5]: print(stu)
输出:
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
{‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
可是这么多学生的年龄都相同,显得不够自然,我们将前两个中国学生改成美国学生、年龄改成14岁
#定义一个存储中国学生的列表,假设年龄都一样 chinese=[] #创建30个中国学生 for student in range(0,30): student_1={'nationality':'China','colour':'yellow','age':'15'} chinese.append(student_1) #显示一共创建了多少个学生 print('一共创建了:'+str(len(chinese))+'个学生') for student_c in chinese[0:2]: if student_c['nationality']=='China': student_c['nationality']='America' student_c['colour']='white' student_c['age']=14 #显示前5个中国学生 for stu in chinese[:5]: print(stu)
输出:
一共创建了:30个学生
{‘colour': ‘white', ‘nationality': ‘America', ‘age': 14}
{‘colour': ‘white', ‘nationality': ‘America', ‘age': 14}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}
{‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}
备注:学到这里发现列表和字典的知识有点薄弱啊
2、在字典中存储列表
假设有个小店,里边卖了2种粥,但是每种粥的配料都不一样,利用一个字典记录两种粥及其配料
#为了简化就不把配料全写出来了 gruel={ '八宝粥':['大米','桂圆','红枣','芡实','莲子','薏仁','黑豆','核桃仁'], '瘦肉粥':['大米','瘦肉'] } for key,value in gruel.items(): print('\n'+key,end=':') for batching in value: print(batching, end=' ')
输出:
八宝粥:大米 桂圆 红枣 芡实 莲子 薏仁 黑豆 核桃仁
瘦肉粥:大米 瘦肉
注意:
为了实现print()输出不换行,这里增加了end参数
配料作为列表存储在了字典里
3、在字典中嵌套字典
以班里有两个同学为示例
grade={ '赵丽颖':{ '国籍':'中国', '民族':'汉', '出生日期':'1987年10月16日', '身高':'165cm', }, '杨幂':{ '国籍':'中国', '民族':'汉', '出生日期':'1986年9月12日', '身高':'166.5cm', } } for name,info in grade.items(): print(name) for key,value in info.items(): print(key+':'+value)
输出:
杨幂
国籍:中国
民族:汉
出生日期:1986年9月12日
身高:166.5cm
赵丽颖
国籍:中国
民族:汉
出生日期:1987年10月16日
身高:165cm
这一节主要学习了字典的嵌套功能,主要学习了列表中嵌套字典、字典中嵌套列表、字典中嵌套字典的方式实现字典的复杂运用
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。