list.insert(position,value)无限增长列表

时间:2017-12-21 15:20:16

标签: python python-2.7 list

如果我运行以下代码:

data = list()
length = 10

for i in range(1000):
    point = i % length
    data.insert(point, i)

len(data)

输出为:1000

我期待长度为10,因为我限制点在0-9范围内。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

Insert将元素添加到新位置,以覆盖旧元素尝试此操作:

length = 10
data = [None] * length

for i in range(1000):
    point = i % length
    data[point] = i

len(data)
=> 10

虽然不清楚为什么只需要最后10个值就要循环1000次...使用range(990, 1000)会不会更好?