を栽培:list.insert(位置、値)は、リストに無期限
data = list()
length = 10
for i in range(1000):
point = i % length
data.insert(point, i)
len(data)
出力されています:1000年
私はポイントを制限していて長さが10であることを期待していました範囲0-9になるようにします。
私は間違っていますか?
を栽培:list.insert(位置、値)は、リストに無期限
data = list()
length = 10
for i in range(1000):
point = i % length
data.insert(point, i)
len(data)
出力されています:1000年
私はポイントを制限していて長さが10であることを期待していました範囲0-9になるようにします。
私は間違っていますか?
挿入は、古いものを上書きし、新しい位置に要素を追加するには、代わりにこれを試してみてください。
length = 10
data = [None] * length
for i in range(1000):
point = i % length
data[point] = i
len(data)
=> 10
あなたがループのみ、最後の10の値が必要とされている1000倍にしたいなぜそれが明確ではないですが... Wouldn range(990, 1000)
を使用する方が良いですか?
あなたの例は10回のループの後に 'IndexError'を持っています。あなたは 'ポイント'ではなく 'i'(非還元)に索引付けされます(' i'は適切な範囲内に縮小されます)。 – ShadowRanger
今日は修正されました –
'list.insert'はしません*指定されたインデックスにあるアイテムの*置換*。それは*新しい項目を挿入し、1つのスロットを "ダウン"した後にすべてをプッシュします。 – jonrsharpe
'insert' *は新しい項目を挿入します。 'data [i] =' *は*に置き換えられます。 – deceze