2个list取差集

list操作

element in a list but not in other list,元素在一个list,不在另一个list

  • 在数据量大的时候使用numpy的setdiff1d方法的性能非常好,耗时为毫秒级别。main_list = np.setdiff1d(list_2,list_1, assume_unique=False) assume_unique为false时,会将结果去重,assume_unique为True时,保留所有符合条件的元素。使用np.setdiff1d时参数assume_unique默认为False
import numpy as np
list_1 = ["a", "b", "c", "d", "e"]
list_2 = ["a", "f", "c", "m"]
main_list = np.setdiff1d(list_2,list_1)
print(main_list)
  • np.setdiff1d方法处理后的list的元素的类型为numpy.int numpy.str等,需要使用list中元素时候需要转换为原来元素的类型
miss_time_list = [int(miss_time.strftime('%Y%m%d')) for miss_time in np.setdiff1d(old_time_to_datetime_list, new_time_list)]
  • 在数据量小的时候使用for循环也可,但是数据量大的时候耗时太长
main_list = []
for i in list_2:
    if i not in list_1:
        main_list.append(i)

转载于:https://www.cnblogs.com/ronky/p/9425168.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值