list 和 dict

list 和 dict就像查字典里一样,假设字典包含了1万个汉字,我们要查某一个字,

一个办法是把字典从第一页往后翻,直到找到我们想要的字为止,这种方法就是在list中查找元素的方法,list越大,查找越慢。

第二种方法是先在字典的索引表里查这个字对应的页码,然后直接翻到该页,找到这个字,无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。


和list比较,dict有以下几个特点:


    查找和插入的速度极快,不会随着key的增加而增加;
    需要占用大量的内存,内存浪费多。

而list相反:

    查找和插入的时间随着元素的增加而增加;
    占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。

这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。



转载自:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681934825297

Python中的listdict有一些重要的区别。首先,list是有序的可变对象,可以存储多个元素,并且允许重复。列表中的元素可以通过索引进行访问修改。而dict是无序的键值对集合,每个元素都由一个key对应的value组成,key必须是不可变对象,而value可以是任意对象。在字典中,通过key可以快速查找对应的value,也可以对value进行添加、修改删除操作。与list不同,dict内部的元素存放顺序key放入的顺序无关。 另外,对于list,我们可以使用Python内置的sorted函数对其进行排序,但是对于dict,我们需要使用其他方法来根据key或者value进行排序。可以使用sorted函数对dict的key进行排序,也可以使用sorted函数结合lambda函数来对dict的value进行排序。 总结起来,list是有序的可变对象,用于存储多个元素,并且允许重复;而dict是无序的键值对集合,通过key来快速查找操作对应的value。在排序方面,list可以直接使用sorted函数进行排序,而dict需要使用其他方法来实现排序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python中listdict比较](https://blog.youkuaiyun.com/Andrew_jdw/article/details/82684493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python列表list字典dict的区别](https://blog.youkuaiyun.com/qq_44728587/article/details/122767227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python sorted对listdict排序](https://download.youkuaiyun.com/download/weixin_38660579/12851159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值