黑马程序员技术交流社区
标题: 高级数据存储:列表与字典的区分 [打印本页]
作者: 啦啦啦啦77 时间: 2018-10-7 21:07
标题: 高级数据存储:列表与字典的区分
本帖最后由 啦啦啦啦77 于 2018-10-7 22:31 编辑
不知不觉学习Python已经半个多月了,通过这半个多月的学习,从“hello world”都不懂的小白,渐渐的,自己可以码一些简单的代码,在讲师的带领下,从陌生到渐渐的融会贯通,可以真真实实的看到自己的进步。由于正在学习字典和列表,也为了巩固下基础,我就分享下两者的对比和总结! 列表是一个序列,可以理解为数据结构中的数组,字典可以理解为数据结构中的hashmap,他俩都可以作为集合来存储数据。
从差异特征上来说
1. list是有序的,dict是无序的
2. list通过索引访问,dict使用key访问
3. dict的占用内存稍比list大,会在1.5倍左右
List的应用场景:
List是记录简单有序数据的,就是一对一的那种,可以理解为一维数组.
比如你记录猫的名字,就可以用list = ['第1只猫名字','第2只猫名字'] ...
比如你记录饭店的菜品,就可以用list = ['第1个菜红烧肉','第2个菜红烧大肠',第3个菜'红烧排骨'] ...
这里的记录,是多条记录重复的,需要按一定顺序来记录.
list 也可以有嵌套,嵌套里面的list仍然可以理解为一维数组
比如常见的季度与月份的关系 list = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
这里的记录,是多条按一定顺序存放的,仍然需要按一定顺序来读取存放.
上面是我理解的list,有序的应用场景.
字典的应用场景:
dict 是记录复杂无序数据,就是一对多,可以理解为多维数组.
比如你记录一次野餐朋友带的食物数量, dict = {'小明':{'红烧肉':6,'大闸蟹':8,'水煮鱼':1},'小花':{'黄瓜':9,'番茄':2},'小六子':{'啤酒':30,'可乐':40}}
dict可以嵌套list,把无序的数据调整为有序的数据,可以简单地理解为,一对多个一维数组,本质上还是多维数组.
比如你要记录同学们有多少个女朋友,dict = {'小明':['1号女友','2号女友'],'大个子':['1号女友','2号女友','3号女友']},你要统计谁的女朋友多,这个就比较明显地体现出来了.
比如你要记录一次会议参加的人员的基本信息,大家的信息都不一样时,也是无序随机事件:
dict = {'男性':{'张博':{'年龄':30,'职业':'老师','级别':'高级教师'},'王强':{'手机':'1309999999'}},'女性':{'小花':{'爱好':'化妆','职业':'美容师'}}}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |