删除列表中的重复元素

删除列表中的重复元素

问:python删除列表中的重复值
  1. 答:答: 主要总结了以下三种方法进行列表中的重复值删除。具体代码如图所示。
    其中最简单的就是方法一和方法三了,因为他们只需要进行相关函数的调用。
    在方法一中,借助集合set中元素不能重复的特性,先将list转为set,然后再将set转回list,即可除重复元素;
    在方法三中,借助 Numpy中的 Unique()方法也可将重复的元素去除,同时注意其元素返回类型为ndarray,因此也需要将其转为list。
    同学们如果对方法二感兴趣的话,也可以进行动手复现,它相比于方法一和三会更难一点,但是更有利于锻炼代码思维。
问:如何去除List集合中重复的元素
  1. 答:最好的办法是用Set,因为Set里面存放的数据是不重复的。
    如果你不想用Set,那还可以向下面这样处理。
    List list_tmp = new ArrayList(); //建立一个用于临时存放不重复list元素的List集合。
    for(Object obj:list){
    //可以根据需要,在这里加上强制转型。
    //如list里面存放的是一个User对象,那么加上User u = (User) obj;
    if(!list_tmp.contains(obj)){ //注意contains方法是通过equals方法进行比较的所以你要根据你自己的需要看是否需要重写list对象里面的equals方法。
    list_tmp.add(obj);//如果上面加了强制转型,这里需要写list_tmp.add(u);
    }
    }
  2. 答:【参考】
    1、通过循环进行删除
    public static void removeDuplicate(List list) {
    for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
    for ( int j = list.size() - 1 ; j > i; j -- ) {
    if (list.get(j).equals(list.get(i))) {
    list.remove(j);
    }
    }
    }
    System.out.println(list);
    }
    2、通过HashSet删除
    public static void removeDuplicate(List list) {
    HashSet h = new HashSet(list);
    list.clear();
    list.addAll(h);
    System.out.println(list);
    }
问:c#如何删除list中重复的元素
  1. 答:删除list中重复的元素:
    方法:使用for循环嵌套,使用List[索引]去与每一个元素进行比较,相等的话,removeat掉
    或许有他人会说用foreach也可以实现,实际中却不是这样,因为比较过程中删除掉了list集合中数据时,进行foreach会报错误
删除列表中的重复元素
下载Doc文档

猜你喜欢