関数がリストと整数を受け取り、n
の整数を取り、インデックスがi
の場合はすべてのすべての要素を削除します。ここで私が作ってみたものです:インデックスが条件を満たすすべての要素を削除します。リスト割り当てインデックスが範囲外です
def f(lst, n):
for i in range(len(lst)):
if (i+1)%n==0:
del lst[i]
しかし、それは私に、このエラーを与える:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pop.py", line 4, in f
del lst[i]
IndexError: list assignment index out of range
範囲外で実行することができていないようですi
インデックスポインタ?これが起こる原因は何ですか?
明快さとテストのためのデータ例を示してください。 –
[反復中にリストからアイテムを削除する]の可能な複製(https://stackoverflow.com/questions/1207406/remove-items-from-a-list- while-iterating) – abccd
アイテムを削除するとどうなるか考えてみましょうリストから。このリストの長さが変わります。 –