-
2021-11-09 10:29:25更多相关内容
-
Python list列表中删除多个重复元素操作示例
2020-12-05 15:17:15本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下:我们以下面这个list为例,删除其中所有值为6的元素:l=[9,6,5,6,6,7,8,9,6,0]首先尝试remove方法:l.remove(6)print(l)结果...本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下:
我们以下面这个list为例,删除其中所有值为6的元素:
l=[9,6,5,6,6,7,8,9,6,0]
首先尝试remove方法:
l.remove(6)
print(l)
结果为:[9, 5, 6, 6, 7, 8, 9, 6, 0],只删除了第一个为6的元素。
如果采用for循环遍历各元素:
for x in l:
if x == 6:
l.remove(x)
结果为[9, 5, 7, 8, 9, 6, 0],后面的6没有删除。主要因为remove改变了list长度和每一个元素的位置。
采用del语句需要找到元素对应下标del l[1]。应用for循环改变下标比较混乱,所以使用while循环:
length=len(l)
x=0
while x < length:
if l[x] == 6:
# l.remove(l[x])
del l[x]
x -= 1
length -= 1
x += 1
结果为[9, 5, 7, 8, 9, 0],删除了列表中所有的6。另外将del l[x]改为l.remove(l[x])也可以。
补充:
最近发现了numpy的unique()函数可以去除列表中所有重复元素且将列表元素从小到大排序:
import numpy as np
l=[9,6,5,6,6,7,8,9,6,0]
a = np.unique(l)
print(a)
print(a)结果为[0 5 6 7 8 9]。l和a类型不同,前者是'list',后者是'numpy.ndarray'。
PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:
希望本文所述对大家Python程序设计有所帮助。
-
判断list 中元素是否有重复
2019-05-29 10:38:111,声明一个List集合,并未其填充数据 List li = new ArrayList<>(); li.add(1); li.add(2);li.add(3);li.add(4);li.add(5);li.add(1); 方法一 //判断集合里面元素是否重复 //JDK 1.8新特性,通过stream...1,声明一个List集合,并未其填充数据
List li = new ArrayList<>();
li.add(1);
li.add(2);li.add(3);li.add(4);li.add(5);li.add(1);方法一 //判断集合里面元素是否重复 //JDK 1.8新特性,通过stream来判断 //todo 02 Integer priCount = li.size(); //集合的长度 Long nextCount = li.stream().distinct().count(); //经过处理之后的集合长度 System.out.println("JDK1.8新特性:==="+(priCount == nextCount.intValue()));
很显然,返回结果为true, 则元素不重复,返回结果为false,则元素重复
方法二 :利用集合特性,set集合元素不重复特点,将List转成set集合 //todo 01 集合转换为Set Set<Integer> set = new HashSet<>(li); System.out.println("======集合之前的长度为:"+li.size()); System.out.println("======集合之后的长度为:"+set.size()); System.out.println((li.size() == set.size()));
返回结果要么为true,要么为false,true代表集合并无重复元素,false代表元素重复
方法三 :最蠢的方法也是最笨的,相信所有人都不会用到,就是遍历集合,移除相同的元素,然后集合前后对比,看看集合元素个数是否相等 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); } } }
-
Java比较两个List的对象值?
2021-03-16 12:08:15这不是最有效的解决方案,但最简洁的代码是:boolean equalLists = listA.size() == listB.size() &...对于一个完整的解决方案,您需要迭代一个集合,从而正确处理重复的对象。private static ...这不是最有效的解决方案,但最简洁的代码是:
boolean equalLists = listA.size() == listB.size() && listA.containsAll(listB);
更新:
@WesleyPorter是对的如果重复对象在集合中,上述解决方案将无法正常工作。
对于一个完整的解决方案,您需要迭代一个集合,从而正确处理重复的对象。
private static boolean cmp( List> l1, List> l2 ) {
// make a copy of the list so the original list is not changed, and remove() is supported
ArrayList> cp = new ArrayList<>( l1 );
for ( Object o : l2 ) {
if ( !cp.remove( o ) ) {
return false;
}
}
return cp.isEmpty();
}
2014年10月28日更新:
@RoeeGavriel是对的返回语句需要有条件。以上代码已更新。
-
Python判断多个列表中是否有重复的元素
2021-03-14 09:54:46Python判断多个列表中是否有重复的元素 直接使用将列表相加求出长度,然后再与去除重复元素的列表长度进行比较即可。 lst = list1 + list2 + list3 listLen = len(lst) # 所有列表长度 onlyLen = len(set(lst)) # ... -
Java中判断List集合中是否有重复元素的方法
2022-01-06 11:02:00import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class TestList { public static void main(String[] args) { ... List<... list = new ArrayList<... list.add("... -
快速解决List集合add元素,添加多个对象出现重复的问题
2021-03-15 18:19:44而每次循环只是简单的set 对象的属性,set新的属性值,而add进list中的对象还是同一个对象id,也就是同一个对象;所以每次add之后,list发现对象引用和之前元素一样,就覆盖掉了之前add的对象。所以循环之后list中的... -
如何优雅的判断List集合中对象的某个字段是否存在重复值
2019-10-15 18:03:57今天碰到一个需要判断泛型集合中的对象的某个字段是否有重复值的需求,特在此对方法进行记录。 大致思路是,将List泛型集合转成Set,并且通过Comparator,来自定义排序方式; 然后判断Set集合的数据长度是否与原本的... -
获取python的list中含有重复值的index方法
2020-12-10 11:28:00list.index( )获得值的索引值,但是如果list中含有的值一样,例如含有两个11,22,这样每次获得的都是第一个值的位置。那么怎么去解决这个问题呢?下面的程序对这个问题做了一定的解答#!/usr/bin/env python# -*- ... -
判断list 中是否有重复的元素
2018-09-03 15:18:07List<Integer> list = new ArrayList() { { add(1); add(2); add(1); } }; long count = list.stream().distinct().count(); boolean isRepeat = count < list.size();... -
List集合根据指定字段去除重复值
2020-06-05 16:03:46主要通过反射获取指定对象属性,然后利用set集合,对指定属性的值进行比较,结果相等则代表重复 -
合并两个List并去掉重复项
2021-02-12 20:07:25工作中很多时候需要用到合并两个List并去除其中的重复内容。这是一个很简单的操作,这里主要是记录一下通过用Stream来完成这项操作。在java8之前比较常规的做法是将两个List添加到一个Set中,因为Set的内容不可重复... -
List去除重复数据的五种方式
2021-02-27 22:56:26以下介绍五种-不同的方法去除 Java 中ArrayList中的重复数据1、使用LinkedHashSet删除arraylist中的重复数据LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:删除重复数据... -
Java中判断List集合中是否有重复元素
2019-08-01 10:31:43在开发工作中,我们有时需要去判断List集合中是否含有重复的元素 我们不需要找出重复的元素,我们只需要返回一个Boolean类型就可以了 如果使用循环遍历的方式,将会消耗大量的性能 我们只需要将List集合转化为Set... -
Java:去除List集合中的重复值(四种好用的方法)
2018-11-14 09:08:15最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。 但是赋给set集合后,由于set集合是无序的,原先的... -
(原创)判断List列表中是否存在重复元素
2020-09-17 16:22:37如何判断一个List列表中的元素是否有重复的 想到不可能一个个去对比 于是去查了下,发现可以利用HashSet的特性去做 因为Set集合中是不允许存在重复元素的 于是得到如下处理方式 /** * 列表中是否包含重复... -
Python如何判断列表里是否有重复元素
2020-12-22 02:27:382020-10-28 02:54:38来源:亿速云阅读:122作者:小新小编给大家分享一下Python如何判断列表里是否有重复元素,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!一、用set方法去重后与原列表长度比较lst... -
取出两个list集合的重复
2022-01-28 14:00:25java list取出相同值_两个List集合取相同重复数据的方法 以下是两个list取重复的代码: public static void main(String[] args) { List list1 = new ArrayList(); for (int i = 0; i < 5; i++) { list1.add... -
Java中找出List对象集合某个字段的重复值以及对该字段进行排重
2020-01-10 13:53:501、找出List对象集合某个字段的重复值 public static void main(String[] args) { List<OrderViewModel> orderList = new ArrayList<>(); for (int i=0;i<10;i++){ OrderViewModel model = new... -
两个List集合取相同重复数据的方法
2021-02-26 13:00:18以下是两个list取重复的代码:public static void main(String[] args) {List list1 = new ArrayList();for (int i = 0; i < 5; i++) {list1.add(i);}List list2 = new ArrayList();for (int i = 2; i < 8; i+... -
List对象如何判断重复数据
2021-04-16 16:28:43数据,我们需要根据VO对象的某个或者某几个参数特征来判断VO对象是否重复。 这里给出一种个人觉得比较简介的方法,工作中我通常是这么处理的 // 使用stream表达式进行分组,自定义分组的key Map<String, List<... -
深入理解C# Unity List集合去除重复项 Distinct
2019-05-18 13:42:36C#集合中如何去除重复项? 于是你百度了一波,找到以下解决方案。 第一种:两次循环遍历 List<int> repeatList= new List<int>() { 1, 2, 3, 4, 5, 3, 3, 2, 1}; for (int i = 0; i < repeatList.... -
python关于for循环中用列表list使用append方法出现多个列表重复的解决办法
2020-04-01 16:42:09今天利用python爬电影的时候发现了一个问题,先贴代码 browser.get('http://dianying.2345.com/list/jingdian------.html') html = browser.page_source doc = pq(html) items = doc('#contentList > ul >... -
List集合之判断List集合是否存在重复元素以及去重,以及针对集合内有重复对象的去重(利用TreeSet集合)
2018-08-20 17:49:27对于List集合判断是否存在重复元素,我是用了Set集合的特点:不能存储相同的元素, 达到判断List集合是否存在重复元素以及去重的效果。 例子: public static void main(String[] args) { List&amp;lt;... -
将List中重复值合并,并返回一个list
2016-10-27 17:41:45一个List中有多个表的对象 表对象有5个字段,所有对象的count字段都为1,现在想把name相等的对象合并,并且count会变成合并了几个就变为几。。。就是List中有10个表对象,其中3个对象的name相等,就把他们合并为8个... -
Java比较两个对象是否相同并获取值不同的属性
2020-06-15 18:49:45最新项目中要加操作日志,同时要把用户修改了那些字段记录下来,在更新的时候就需要比较之前的数据和现在的数据有哪些不同,这么多类一个一个的比较就太麻烦了,所以打算写一个工具类。 主要思想还是通过反射获取类... -
java基础-去除List列表中的重复值(3种解决方法)
2014-04-16 19:39:41本篇介绍了3中去重List数据的方法。分别是:普通的for循环;利用set进行去重;利用迭代器进行去重。