文章目录
7.1 List
容量初始化
在list成员个数可以预知的情况下,创建list时需预留空间正好容纳所有成员的空间
说明:与
Java
、C++
等语言的list
一样,Python
语言的list
在append()
成员时,如果没有多余的空间容纳新的成员,就会分配一块更大的内存,并将原来内存里的成员拷贝到新的内存上,并将最新append()
的成员也拷贝到此新内存空间中,然后释放老的内存空间。如果append()
调用次数很大,则如上过程会频繁发生,因而会造成灾难性性能下降,而不仅仅是一点下降。
# 错误示例:
members = []
for i in range(1, 1000000):
members.append(i)
len(members)
# 正确示例:
members = [None] * 1000000
for i in range(1, 1000000):
members[i] = i
len(members)
7.2 元素个数确定时推荐使用Tuple
在成员个数及内容皆不变的场景下尽