Python:删除满足条件的列表元素

时间:2018-09-01 15:40:33

标签: python list

鉴于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列表,但是除非有必要,否则我不想创建一个新列表。)

0 个答案:

没有答案