我在这里有一个简单的程序listA,listB如果它们的值高于 10 ,我试图将数字从 移动到。但是listA在它移动到 listB 后如何将其删除?
listA = [1,3,10,12,50,52]
listB = []
for i in range(len(listA)):
val = listA[i]
if val > 10:
listB.append(val)
print(listA, listB)
Run Code Online (Sandbox Code Playgroud)
您可以使用“del”关键字。即,del listA[i]。但是,出于以下两个原因,您不应该这样做:
>>> a = [1, 2, 3, 4]
>>> for i, x in enumerate(a):
... print(x)
... del a[i]
...
1
3
Run Code Online (Sandbox Code Playgroud)
最好创建一个临时列表,比如 tmp_listA,附加到它,然后将其替换为原始列表。不要修改原文。
这就是它的样子:
listA = [1,3,10,12,50,52]
listB = []
tmpA = []
for i in range(len(listA)):
val = listA[i]
if val > 10:
listB.append(val)
else:
tmpA.append(val)
listA = tmpA
print(listA, listB)
Run Code Online (Sandbox Code Playgroud)