Skip to content

Commit 0a111ea

Browse files
author
kangxiaoyu
committed
list和字典的比较
1 parent bce1957 commit 0a111ea

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

doc/列表与数字的比较.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
2+
3+
和list比较,dict有以下几个特点:
4+
5+
查找和插入的速度极快,不会随着key的增加而增加;
6+
需要占用大量的内存,内存浪费多。
7+
而list相反:
8+
9+
查找和插入的时间随着元素的增加而增加;
10+
占用空间小,浪费内存很少。
11+
所以,dict是用空间来换取时间的一种方法。
12+
13+
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。
14+
15+
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
16+
17+
要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key:

0 commit comments

Comments
 (0)