鉴于Python列表,我想删除“不良”元素。例如,给定一个整数列表的列表,我想删除以负整数开头的列表。这是一次尝试和失败:
S=[[1,1],[2,1],[-1,1],[-2,1]]
for s in S:
if s[0]<0:
S.remove(s)
返回
[[1, 1], [2, 1], [-2, 1]]
我想知道上面的代码为什么不能按预期工作(这将是有启发性的),以及执行此操作的正确方法。 (我知道我可以创建一个新列表,在其中添加那些具有正的第一个元素的S列表,但是除非有必要,否则我不想创建一个新列表。)