黑马程序员技术交流社区

标题: 高级数据存储:列表与字典的区分 [打印本页]

作者: 啦啦啦啦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