python中从列表中读取数据和从字典读取数据谁快_python中列表和字典的区别

本文探讨了Python中列表和字典的区别,包括有序性、访问方式、时间复杂度和内存占用。列表适合有序数据的存储,如队列和堆栈,而字典则适用于聚合统计和快速访问。字典的查找时间复杂度为O(1),不随数量增长而变化,而列表的查找时间复杂度为O(n)。在实际应用中,根据数据的特性选择合适的数据结构能提高效率。
摘要由CSDN通过智能技术生成

3c844a1a8ef6314075e964f7e81fbd5a.png

列表是序列,可以理解为数据结构中的数组,字典可以理解为数据结构中的hashmap。

他俩都可以作为集合来存储数据

从差异特征上来说

1. list是有序的,dict是无需的

2. list通过索引访问,dict使用key访问

3. list随着数量的正常增长要想查找元素的时间复杂度为O(n), dict不随数量而增长而变化,时间负责都为O(1)

4. dict的占用内存稍比list大,会在1.5倍左右

特征决定用途:

list一般可作为队列、堆栈使用,而dict一般作为聚合统计或者快速使用特征访问等

从应用场景来说:

list 是记录简单有序数据的,就是一对一的那种,可以理解为一维数组.

比如你记录猫的名字,就可以用list = ['第1只猫名字','第2只猫名字'] ...

比如你记录饭店的菜品,就可以用list = ['第1个菜红烧肉','第2个菜红烧大肠',第3个菜'红烧排骨'] ...

这里的记录,是多条记录重复的,需要按一定顺序来记录.

list 也可以有嵌套,嵌套里面的list仍然可以理解为一维数组

比如常见的季度与月份的关系 list = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

又或者你从excel读取一行数据,存到list中,也需要用到list嵌套

又或者你从SQL读取一行数据,存到list中,也会用的list嵌套.

这里的记录,是多条按一定顺序存放的,仍然需要按一定顺序来读取存放。

dict 是记录复杂无序数据,就是一对多,可以理解为多维数组.

比如你记录一次野餐朋友带的食物数量, dict = {'小明':{'红烧肉':6,'大闸蟹':8,'水煮鱼':1},'小花':{'黄瓜':9,'番茄':2},'小六子':{'啤酒':30,'可乐':40}}

dict可以嵌套list,把无序的数据调整为有序的数据,可以简单地理解为,一对多个一维数组,本质上还是多维数组.

比如你要记录同学们有多少个女朋友,dict = {'小明':['1号女友','2号女友'],'大个子':['1号女友','2号女友','3号女友']},你要统计谁的女朋友多,这个就比较明显地体现出来了.

————————————————

版权声明:本文为CSDN博主「鹏大大」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/peng__dada/article/details/79141537

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值