去除无效值:

例如现在有个列表,其中元素有以下值:

list_1 = ['word1', '', '\n', 'word2', '\u3000', 'word3', ' ', 'word4']

列表中有空字符换行符,ASCII码下的空元素(\u3000),还有空格元素

解决方法:

list_1 = list(filter(lambda x: x.strip(), list_1))

打印list_1如下:
打印list_1

列表保持原序去重:

现有如下列表:

list_2 = ['w1', 'w4', 'w1', 'w3', 'w4', 'w2', 'w1']

可见列表中有若干重复值,直接利用set()函数虽然可以达到去重效果,但得到的列表是无序的。

简单粗暴,就是要新创建个列表,空间方面考虑不周,先凑合着用吧~

temp = list(set(list_2))  # 保持原有顺序去重
temp.sort(key=list_2.index)  # 按原索引排序
print(temp)

打印结果:
打印temp

1.清理无效数据 df[df.isnull()] #返回的是个true或false的Series对象(掩码对象),进而筛选出我们需要的特定数据。 df[df.notnull()] df.dropna() #将所有含有nan项的row删除 df.dropna(axis=1,thresh=3) #将在列的方向上三个为NaN的项删除 df.dropna(how='ALL') ...
数据库 code_pattern code_name 的 code_value 的字段要和 (partnerIdDesc PARTNER_ID DESC, PAPTA.ADD_REQ_DT DESC) partnerId 这个位置的一致
使用Stream distinct()去重实体类List失效问题 网上看了很多重写hashcode() 和 equals()的方法,这里用的是 filter实现 比较容易理解。 1、创建用于接受临时数据的list。 2、在filter判断当前节点的元素是否在临时list存在 3、如果存在则return true。 4、如果不存在则将节点元素添加到List并且return true。 实例测试: public Result<?> testD() { List<Test
3.如果使用Integer包装类作为下标去删除元素的话, List会默认认为你是在删除相应的Integer对象元素, 而不是根据下标去删除相应元素,从而导致删除失败~
背景:前几天在实现一个“去标与加标”【说明:就是京东显示京配打标效果】操作的时候,存在批次的加标与去标操作,为了应对实际业务的要求,采用下面的方式去实现,因此掉入了下面的深坑,久久不能平息....目的:记录在实际项目容易“暴雷”的坑,同时梳理哈,为啥会出现问题?核心原因是哪个调用的底层不清楚了? 下面是一个测试demo,用来还原实际的业务场景: List list = new ArrayList<>(); list.add(1); list.add(2);
List在我们日常的开发可谓是常客,我个人也非常喜欢,从数据库查询出来的数据或者excel导入的数据,我都喜欢先转换为对应的类型list,在搭配System.Linq下的拓展方法,基本可以应付绝大多数的数据操作了。今天在做导入的时候,需要对数据先进行去重处理,发现有几个容易忽略的点,发出来大家一起探讨一下。 System.Linq下为IEnumerable(List是它的子类)拓展了Disti...