我想在迭代名单从我的列表中删除的元素进行迭代。我不认为复制清单并在任何一个上执行操作都能解决我的问题。 我尽快有一个嵌套列表, 在这里我得到的最左边或列表的最右边的值==最大I追加到一个新的列表LST1和从环原始列表其他休息流行的元素。删除列表,而在蟒蛇不复制到新的列表
lst= [[4, 3, 2, 1, 3, 5]]
lst1=[]
for i in range(len(lst)):
if lst[0][i]==max(lst[0]):
lst1.append(lst[0][i])
lst.remove(lst[0][i])
elif lst[0][maxsize_lst-1]==max(lst[0]):
lst1.append(lst[0][maxsize_lst-1])
lst.remove(lst[0][maxsize_lst-1])
else :
print("NO")
break;
,我发现了以下错误,有时我得到索引超出范围大概是因为我删除元素,并再次遍历列表
ValueError: list.remove(x): x not in list
列表1的输出结果应该像:
5 4 3 3 2 1
编辑 最终的名单按降序来,但它不是一个亲排序blem。在这里,我将首先选择最左边或最右边的元素,并检查它是否为== max(lst)。如果它们中的任何一个都符合我的要求,那么我将删除该元素。现在,我的列表中会少一个元素。如果它是最左面流行的话,我会从指数1恢复到过去的,反之,如果它是最右边的我会再次这样做从索引0相同的搜索,以最大范围-2做同样的搜索。如果没有像如下左边或最右边!= MAX(LST)再破并打印无
而不是删除,你为什么不保留你想要的新列表? – idjaw
你可以使用'在LST项目:在范围内的''而不是为我(LEN(LST)):'这不是帮你这么多 – PRMoureu
没有'list.remove(X):'在你的代码。发布实际的代码。 – TemporalWolf