要想删除列表中相同值的所有元素,本文介绍一种方法。 首先,list 自带的 remove() 方法只能删除第一次出现的位置(first occurrence) >>> x = [1, 2, 1, 2, 1, 2] >>> x.remove(2) >>> x [1, 1, 2, 1, 2] >>> 如果要全部删除list里面的某个元素,可以用列表解析方法(List comprehension): >>> x = [1, 2, 1, 2, 1, 2] >>> y = [i for i in x if i != 2] #删除全部2 >>> y [1, 1, 1] >>> 同样方法可以用来一次性删除多种元素: >>> x = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3] >>> y = [i for i in x if i != 2 and i != 3] #删除全部2和3 >>> y [1, 1, 1, 1] >>> 删除一个范围: >>> x = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3] >>> y = [i for i in x if i < 2] #只保留小于2的 >>> y [1, 1, 1, 1] >>> 甚至删除一个集合里的元素: >>> x = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3] >>> d = [2, 3] >>> y = [i for i in x if i not in d] #不保留d中的元素 >>> y [1, 1, 1, 1] >>>